Quuxplusone added a comment.

> I'd like to give some time for other stakeholders to give their opinion if 
> this is not too urgent, specially @Quuxplusone and @rsmith.

I have no strong/well-informed opinions here. I have an idea to offer, //if// 
there is precedent for it. My idea is, keep it as an error if the rvalue 
resolution finds nothing, but (1) fall back to an lvalue resolution //for 
error-recovery purposes//, and (2) suppress the error in system headers. Then, 
the usage in MSVC STL will keep working but only because it's in a system 
header. I seem to recall that there is precedent for diagnostics that are 
"non-downgradable error in user code, yet still suppressed in system headers." 
If I'm imagining things, then please do not invent such a facility purely for 
this feature.

My second choice is to do whatever minimalistic hack suffices to satisfy the 
customer (Aaron etc. in this case), but only with the understanding that we 
plan to eliminate that hack as soon as MSVC STL gets updated. My third choice 
is to revert the whole thing and then land a new version of it that always 
falls back to lvalue resolution, but with an on-by-default //warning// (not 
error) (so this would probably affect a ton of your test cases); then the user 
can downgrade that warning as a workaround.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99005/new/

https://reviews.llvm.org/D99005

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to