[Bug c++/48453] [C++0x] Invalid reference initialization via explicit conversion
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48453 --- Comment #4 from Paolo Carlini --- It would be nice to have a DR # for this. In any case, if in practice the compiler is already Ok, we can probably close it, right?
[Bug c++/48453] [C++0x] Invalid reference initialization via explicit conversion
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48453 Jens Maurer changed: What|Removed |Added CC||jens.maurer at gmx dot net --- Comment #3 from Jens Maurer 2011-04-06 21:56:51 UTC --- Agreed. The wording in the standard should be fixed.
[Bug c++/48453] [C++0x] Invalid reference initialization via explicit conversion
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48453 --- Comment #2 from Daniel Krügler 2011-04-06 06:34:20 UTC --- (In reply to comment #1) I agree, I just recognize that 13.3.1.6 [over.match.ref] p. 1 b. 1 is written to support this: "The conversion functions of S and its base classes are considered, except that for copy-initialization, only the non-explicit conversion functions are considered. Those that are not hidden within S and yield type “lvalue reference to cv2 T2” (when 8.5.3 requires an lvalue result) or “cv2 T2” or “rvalue reference to cv2 T2” (when 8.5.3 requires an rvalue result), where “cv1 T” is reference-compatible (8.5.3) with “cv2 T2”, are candidate functions." IMO the core language should strike the reference to "implicit conversions" in 8.5.3.
[Bug c++/48453] [C++0x] Invalid reference initialization via explicit conversion
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48453 Jason Merrill changed: What|Removed |Added Status|UNCONFIRMED |SUSPENDED Last reconfirmed||2011.04.06 04:08:17 CC||jason at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Jason Merrill 2011-04-06 04:08:17 UTC --- This seems to me like a wording issue, not a compiler bug. The use of "implicitly" in 8.5.3 should have been adjusted when explicit conversion operators went in; this should be reported as a core DR.