Am i missing something?
--
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use
mailto:std...@netlab.cs.rpi.edu<std-c%2B%2...@netlab.cs.rpi.edu>
]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
There is some history behind the issue. First, when it was originally
submitted, it was not clear whether the wording of
[temp.deduct.partial]/6
"If both P and A were reference types [..]" should be interpreted as
(a) both were lvalue references *or* both were rvalue references
or (b) both were references types of any combination. With
interpretation
(a), neither template is more specialized than the other.
It was later recognized that the wording could indeed be applied,
when *different* reference types (mixture case (b)) where involved
and with this view the example is no longer ambiguous as you
correctly point out. AFAIK there is already an NB comment in
preparation regarding that particular example in regard to this
point and I have been told that the issue will be updated in regard
to this reinterpretation in a future issue list revision..
The issue still exists, because it is not yet clear whether the
mixture
cases (of different reference types) in partial overloading are
properly
ruled in all parts of the standard, therefore there is some survey
underway to ensure that the standard is consistent in this regard.
HTH & Greetings from Bremen,
Daniel Kr=FCgler