Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upMismatched type errors have become useless #39343
Comments
jdm
added
the
A-diagnostics
label
Jan 27, 2017
This comment has been minimized.
This comment has been minimized.
|
This actually looks like a change in coercion? That is, a mismatch in the signature used to prevent the coercion, resulting in the subtyping fallback which simply fails, at the othermost level, whereas now the coercion is attempted and the error from inside the signature mismatch is being reported. |
arielb1
added
the
regression-from-stable-to-stable
label
Feb 2, 2017
brson
added
the
T-compiler
label
Feb 9, 2017
This comment has been minimized.
This comment has been minimized.
|
@eddyb any clues what change might have caused that? cc @estebank @jonathandturner -- this doesn't look familiar, does it? |
brson
added
the
I-nominated
label
Feb 9, 2017
This comment has been minimized.
This comment has been minimized.
|
@nikomatsakis - not to me. I thought we still always showed the expected/found full type since sometimes you need it to understand the error (this one included) |
This comment has been minimized.
This comment has been minimized.
|
@nikomatsakis sadly, it doesn't for me either. @jonathandturner it doesn't if the type mismatch is between primitive types, which leads me to think that somewhere a |
arielb1
assigned
pnkfelix
Feb 16, 2017
This comment has been minimized.
This comment has been minimized.
|
triage: P-high - serious diagnostic regression, assign to @pnkfelix. |
arielb1
added
P-high
and removed
I-nominated
labels
Feb 16, 2017
This comment has been minimized.
This comment has been minimized.
|
While doing something else around type errors, I realized by chance why this was happening. |
This comment has been minimized.
This comment has been minimized.
|
(seems like #39905 will fix this.) |
nagisa commentedJan 27, 2017
A minimal test case. My actual case is much more complex, involves functions/callbacks with multiple params and several layers of typedefs.
The error reported on 1.11.0 is this:
Useful and obvious. What error looks like now (stable (1.14.0)/beta/nightly (1.16.0))?
Cute but is as worthless and confusing as it gets.