Repository navigation
Conversation
Carry more information for well-formed obligations coming from expressions.
|
changes to the core type system cc @lcnr |
|
r? @oli-obk rustbot has assigned @oli-obk. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
5aa46fd to
1151b3e
Compare
|
Easier to review per-comit: first add mild mechanic changes to have more tracking to be used later, added the tests that I wanted to tackle, and finally the actual logic change that affects the emitted errors. |
| field_ty, | ||
| expr.span, | ||
| ObligationCauseCode::Misc, | ||
| ObligationCauseCode::WellFormed(WellFormedLoc::None), |
There was a problem hiding this comment.
may be worth figuring out a WellFormedLoc for, as this is the only use of None that won't be removed when the old solver gets nuked Soon ™️
There was a problem hiding this comment.
Using the HirId of the expr doesn't change anything today (because it is the offset_of! macro which already points at the whole expr), but might in the future. Changed in the last commit.
|
Reminder, once the PR becomes ready for a review, use |
Reduces the number of errors being emitted by a single unmet `Sized` (or other) bound in method call chains.
1151b3e to
55d1925
Compare
Fix #84346, fix #105753.
On multiple unment obligations in the same method chain, only emit one. On unmet
Sizedobligations on a binding, its type and its init expression, only emit one.