This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-11-11
[Moved to DR at the October, 2012 meeting.]
In bullet 3 of paragraph 4 of 12.2.4.3 [over.ics.rank] are two sub-bullets dealing with overload tiebreakers:
binding of an expression of type C to a reference of type B& is better than binding an expression of type C to a reference of type A&,
...
binding of an expression of type B to a reference of type A& is better than binding an expression of type C to a reference of type A&,
Presumably both of these tiebreakers should apply to rvalue references as well as lvalue references.
Proposed resolution (February, 2012):
Change 12.2.4.3 [over.ics.rank] bullet 4.3 as follows:
If class B is derived directly or indirectly from class A and class C is derived directly or indirectly from B,
conversion of C* to B* is better...
binding of an expression of type C to a reference
of to type B& is better
than binding an expression of type C to a reference of
to type A&,
...
binding of an expression of type B to a reference
of to type A& is better
than binding an expression of type C to a reference
of to type A&,
...