Repository navigation
Closed
Closed
Copy link
Labels
C-bugCategory: This is a bug.Category: This is a bug.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.
Description
Code
Sorry, I don't have simple code to reproduce the issue, because the project is large.
The repro is this:
$ git clone https://github.com/facebook/starlark-rust
$ git co 96a2bf3d164d99cccc6cf330433d770e7d01b15a # Latest revision
$ cargo +nightly-2024-04-05-aarch64-apple-darwin test -p starlark --lib --no-run
This works (warnings are unrelated)
$ cargo +nightly-2024-04-06-aarch64-apple-darwin test -p starlark --lib --no-run
...
error[E0275]: overflow evaluating the requirement `&_: StarlarkTypeRepr`
|
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`starlark`)
note: required for `&[_]` to implement `StarlarkTypeRepr`
--> starlark/src/values/types/list/value.rs:251:17
|
251 | impl<'a, V: 'a> StarlarkTypeRepr for &'a [V]
| ^^^^^^^^^^^^^^^^ ^^^^^^^
252 | where
253 | &'a V: StarlarkTypeRepr,
| ---------------- unsatisfied trait bound introduced here
= note: 126 redundant requirements hidden
= note: required for `&[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[...]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]` to implement `StarlarkTypeRepr`
= note: the full name for the type has been written to '/Users/nga/devel/starlark-rust/target/debug/deps/starlark-e78de373a7652cbb.long-type-11371795697589288004.txt'
Contents of the mentioned file is:
&[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[_]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
I tried increasing #![recursion_limit = "256"], did not help.
Version it worked on
$ cargo +nightly-2024-04-05-aarch64-apple-darwin --version
cargo 1.79.0-nightly (0637083df 2024-04-02)
$ rustc +nightly-2024-04-05-aarch64-apple-darwin --version
rustc 1.79.0-nightly (385fa9d84 2024-04-04)
Also works on stable.
Version with regression
$ cargo +nightly-2024-04-06-aarch64-apple-darwin --version
cargo 1.79.0-nightly (0637083df 2024-04-02)
$ rustc +nightly-2024-04-06-aarch64-apple-darwin --version
rustc 1.79.0-nightly (9d79cd5f7 2024-04-05)
This may be duplicate of #123493 because timing.
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.P-highHigh priorityHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.Performance or correctness regression from stable to nightly.
Activity
[-]nightly-2024-04-05: error[E0275]: overflow evaluating the requirement[/-][+]nightly-2024-04-05 regression: error[E0275]: overflow evaluating the requirement[/+]SergioBenitez commentedon Apr 7, 2024
This is also affecting
diesel:dtolnay commentedon Apr 7, 2024
Using the starlark-rust repro, this bisects to #122747. @Urgau @lcnr
lcnr commentedon Apr 7, 2024
overflow is fatal in the old trait solver, so by proving additional goals, especially if they have inference variables, we can end up with new sources of overflow causing an error.
the most straightforward fix is to use the new solver for this lint 😁 given that the lint uses an empty environment it uses pretty much the same parts of the solver as coherence so it should already be ready for that
Auto merge of rust-lang#123594 - Urgau:fix-non_local_def-lint-overflo…
apiraino commentedon Apr 8, 2024
WG-prioritization assigning priority (Zulip discussion).
@rustbot label -I-prioritize +P-high
rcorre commentedon Apr 9, 2024
I have a somewhat minimal repro, it has a lot of deps (via bevy) but not much code:
example.zip
Where
gltf_meshesis not something (I think) that can be decomposed into a tuple.Auto merge of rust-lang#123594 - Urgau:fix-non_local_def-lint-overflo…
Auto merge of #123594 - Urgau:fix-non_local_def-lint-overflow, r=lcnr
Auto merge of #123594 - Urgau:fix-non_local_def-lint-overflow, r=lcnr