Anastasia added a comment.

In D73360#1850001 <https://reviews.llvm.org/D73360#1850001>, @rjmccall wrote:

> Is there no follow-up code when actually emitting the failure diagnostic 
> which tries to figure out a more specific cause of failure?


After looking at this a bit more it seems C++ part calls the diagnostic code 
earlier:

  Sema::PerformImplicitConversion:
  
     case ImplicitConversionSequence::BadConversion:
       bool Diagnosed =
           DiagnoseAssignmentResult(Incompatible, From->getExprLoc(), ToType,
                                    From->getType(), From, Action);

It just seems to always pass `Incompatible`. We could add follow up code 
before? This would be easier than modifying the existing flow completely. 
However, looking at this holistically we would need to repeat all checks 
classifying the failure types...


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

https://reviews.llvm.org/D73360



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

Reply via email to