type equality cannot be proved with summon[t1.X =:= t2.X]
using singleton equality of t1 and t2
#22327
Labels
summon[t1.X =:= t2.X]
using singleton equality of t1 and t2
#22327
Compiler version
3.6.2
Minimized code
Output
Expectation
since t1 and t2 are both function arguments, their most narrow types should both be path singletons, if these 2 are equal, it should imply that all their dependent types with the same symbols should also be equal.
(In addition this error message is also not sufficiently informative.)
Is
=:=
considered core part of the language? If not, a third-party implementation based on compile-time staging may be able to incorporate this rule while emitting more newbie-friendly error message.The text was updated successfully, but these errors were encountered: