You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
t.py:7: error: Incompatible types in assignment (expression has type "Callable[[Arg(int, 'foobar'), Arg(int, 'blr'), Arg(int, 'fubar')], None]", variable has type "Callable[[Arg(int, 'foobar'), Arg(int, 'bir'), Arg(int, 'fubar')], None]")
Here's a potential better message that highlights the difference:
t.py:7: error: Incompatible types in assignment (expression has type "Callable[[Arg(int, 'foobar'), Arg(int, 'blr'), Arg(int, 'fubar')], None]", variable has type "Callable[[Arg(int, 'foobar'), Arg(int, 'bir'), Arg(int, 'fubar')], None]")
t.py:7: note: Expression type: ..., Arg(int, 'blr'), ...
t.py:7: note: Variable type: ..., Arg(int, 'bir'), ...
t.py:7: note: ^^^
It's not clear what's the best way to generalize this sort of "type diff" to arbitrary nested types and to arbitrary type differences. We should at least handle some typical cases. We could also look at how other (non-Python) language implementations handle this.
Just splitting long lines and aligning them would help a bit (but in general the alignment could be off, since there could be multiple differences in types, only some of which are problematic):
t.py:7: error: Incompatible types in assignment (expression has type "Callable[[Arg(int, 'foobar'), Arg(int, 'blr'), Arg(int, 'fubar')], None]",
t.py:7: error: variable has type "Callable[[Arg(int, 'foobar'), Arg(int, 'bir'), Arg(int, 'fubar')], None]")
The text was updated successfully, but these errors were encountered:
Sometimes it's hard to see why two types are incompatible if they are long and almost the same. Dummy example:
This is the error:
Here's a potential better message that highlights the difference:
It's not clear what's the best way to generalize this sort of "type diff" to arbitrary nested types and to arbitrary type differences. We should at least handle some typical cases. We could also look at how other (non-Python) language implementations handle this.
Just splitting long lines and aligning them would help a bit (but in general the alignment could be off, since there could be multiple differences in types, only some of which are problematic):
The text was updated successfully, but these errors were encountered: