http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45755

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-09-23 
12:55:23 UTC ---
That wording was changed to clarify that it means a template will never be
instantiated to produce S::S(S), it does not mean a template cannot be used to
perform copies, see
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1080

I beleive G++ is correct here, the constructor is instantied with T = S&, to
produce S::S(S&) which is a valid constructor for copy-initialization

Reply via email to