overflow -> ambig: trigger recursion_depth_exceeding_limit - #160632
Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
overflow -> ambig: trigger `recursion_depth_exceeding_limit`
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (f81a509): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -2.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.2%, secondary 3.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.0%, secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 458.35s -> 466.079s (1.69%) |
|
Similar to #160254, the current perf collection won't be affected by this as they don't overflow(maybe except typenum)? |
|
Should this be blocked on UX improvement? Or just land this fix first? |
|
I'd like to deduplicate the errors at least somewhat 🤔 unsure how to do so rn though 😁 |
efe2806 to
07b0490
Compare
This comment has been minimized.
This comment has been minimized.
|
Some changes occurred to the core trait solver cc @rust-lang/initiative-trait-system-refactor |
| emitted_diagnostics: FxHashSet<Hash128>, | ||
|
|
||
| /// We only want to emit `recursion_depth_exceeding_limit` once per | ||
| /// crate. Otherwise crates like `calimero-store` emit more than |
There was a problem hiding this comment.
Instead of referencing calimero-store which is "fixed" by the new version of generic-array, we quickly explain why we would have tons of warnings?
|
closing in favor of #161341 ::> |
…cnr,adwinwhite be more permissive wrt overflow and and improve diagnostics This builds on rust-lang#160632 Previously we only showed a single root goal for the FCW. It was difficult to find out how the goal overflowed. We display a proving chain now which should help users identify relevant types or auto traits. This will affect perf for crates emitting the FCW. E.g. `calimero-store` goes from 4.7s -> 5.7s in local testing since it emits thousands of FCWs internally. The FCW is a mitigation of future hard error and authors are expected to resolve it so it's probably acceptable. It doesn't affect crates without the FCW. r? lcnr
…cnr,adwinwhite be more permissive wrt overflow and and improve diagnostics This builds on rust-lang#160632 Previously we only showed a single root goal for the FCW. It was difficult to find out how the goal overflowed. We display a proving chain now which should help users identify relevant types or auto traits. This will affect perf for crates emitting the FCW. E.g. `calimero-store` goes from 4.7s -> 5.7s in local testing since it emits thousands of FCWs internally. The FCW is a mitigation of future hard error and authors are expected to resolve it so it's probably acceptable. It doesn't affect crates without the FCW. r? lcnr
Rollup merge of #161341 - adwinwhite:overflow-fcw-chain, r=lcnr,adwinwhite be more permissive wrt overflow and and improve diagnostics This builds on #160632 Previously we only showed a single root goal for the FCW. It was difficult to find out how the goal overflowed. We display a proving chain now which should help users identify relevant types or auto traits. This will affect perf for crates emitting the FCW. E.g. `calimero-store` goes from 4.7s -> 5.7s in local testing since it emits thousands of FCWs internally. The FCW is a mitigation of future hard error and authors are expected to resolve it so it's probably acceptable. It doesn't affect crates without the FCW. r? lcnr
cc https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/overflow.20hard.20error.20.60calimero-store.60/with/614961692
the fact that this lint triggers multiple times for the same goal is pretty bad. We should somehow change this to only be emitted once per obligation or maybe even less. Looking at crates which trigger this lint, they sometimes emit it thousands of times. That seems pretty bad from a UX perspective.
cc #159224 #159228
r? @adwinwhite