Proposed resolution:
In [filebuf]/5 change the "as if" code
const codecvt<charT,char,typename traits::state_type>& a_codecvt = use_facet<codecvt<charT,char,typename traits::state_type> >(getloc());
In [facet.num.put.virtuals]/15 (This is para 5 in N2134) change
A local variable punct is initialized via
const numpunct<charT>& punct = use_facet< numpunct<charT> >(str.getloc() );
(Please note also the additional provided trailing semicolon)