-
Notifications
You must be signed in to change notification settings - Fork 13.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compilation taking unexpected long after 1.84 #135457
Labels
C-bug
Category: This is a bug.
I-compiletime
Issue: Problems and improvements with respect to compile times.
P-high
High priority
regression-from-stable-to-stable
Performance or correctness regression from one stable version to another.
S-has-bisection
Status: a bisection has been found for this issue
S-has-mcve
Status: A Minimal Complete and Verifiable Example has been found for this issue
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
T-types
Relevant to the types team, which will review and decide on the PR/issue.
WG-trait-system-refactor
The Rustc Trait System Refactor Initiative (-Znext-solver)
Milestone
Comments
rustbot
added
the
needs-triage
This issue may need triage. Remove it if it has been sufficiently triaged.
label
Jan 13, 2025
jieyouxu
added
I-compiletime
Issue: Problems and improvements with respect to compile times.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
E-needs-bisection
Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc
labels
Jan 13, 2025
This comment has been minimized.
This comment has been minimized.
rustbot
added
regression-from-stable-to-stable
Performance or correctness regression from one stable version to another.
I-prioritize
Issue: Indicates that prioritization has been requested for this issue.
labels
Jan 14, 2025
aDotInTheVoid
added
the
E-needs-mcve
Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example
label
Jan 14, 2025
rustbot
removed
the
E-needs-bisection
Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc
label
Jan 14, 2025
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
2 crates:
pub trait Pairing {}
pub trait AffineRepr:
// without the following line: super fast.
Mul<Self::ScalarField, Output = Self::Group> +
// without the following line: super fast.
for<'a> Mul<&'a Self::ScalarField, Output = Self::Group>
// note: combinations of the `Output`s above can be changed to `ScalarField` for 2x faster
{
type ScalarField;
type Group;
}
pub trait Mul<T> { type Output; }
use repro::{Pairing, AffineRepr};
struct S<E>(E);
impl<T, E> From<T> for S<E>
where
T: AffineRepr,
E: Pairing,
{
fn from(_value: T) -> Self {
unimplemented!()
}
}
fn main() {} $ cargo clean -q && time CARGO_INCREMENTAL=0 cargo rustc -q --bin=repro -- -Znext-solver=no
real 0m0.206s
user 0m0.083s
sys 0m0.159s
$ cargo clean -q && time CARGO_INCREMENTAL=0 cargo rustc -q --bin=repro -- -Znext-solver=coherence
real 0m5.636s
user 0m5.519s
sys 0m0.152s There may be others in there, I'm not sure. |
jieyouxu
added
S-has-mcve
Status: A Minimal Complete and Verifiable Example has been found for this issue
S-has-bisection
Status: a bisection has been found for this issue
T-types
Relevant to the types team, which will review and decide on the PR/issue.
WG-trait-system-refactor
The Rustc Trait System Refactor Initiative (-Znext-solver)
and removed
E-needs-mcve
Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example
needs-triage
This issue may need triage. Remove it if it has been sufficiently triaged.
labels
Jan 14, 2025
WG-prioritization assigning priority (Zulip discussion). @rustbot label -I-prioritize +P-high |
rustbot
added
P-high
High priority
and removed
I-prioritize
Issue: Indicates that prioritization has been requested for this issue.
labels
Jan 15, 2025
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Jan 15, 2025
don't check for overlap if its allowed regardless fixes rust-lang#135457. I am not a big fan of this tbh, want to figure out why the proof tree visitor is so damn slow here. r? `@compiler-errors`
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Jan 17, 2025
add cache to `AmbiguityCausesVisitor` fixes rust-lang#135457, alternative to rust-lang#135524. cc https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/new-solver.20hang.20.23135457 r? `@compiler-errors`
reopening to track stable-backport (if it happens) |
Should be fixed now in 1.84.1. |
sveitser
added a commit
to EspressoSystems/espresso-sequencer
that referenced
this issue
Feb 3, 2025
The regression that caused increased compile times for jf-pcs has been fixed in rust 1.84.1 See rust-lang/rust#135457 We originally pinned rust to 1.83 in 220df37 to work around this regression.
sveitser
added a commit
to EspressoSystems/espresso-sequencer
that referenced
this issue
Feb 3, 2025
The regression that caused increased compile times for jf-pcs has been fixed in rust 1.84.1 See rust-lang/rust#135457 We originally pinned rust to 1.83 in 220df37 to work around this regression.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C-bug
Category: This is a bug.
I-compiletime
Issue: Problems and improvements with respect to compile times.
P-high
High priority
regression-from-stable-to-stable
Performance or correctness regression from one stable version to another.
S-has-bisection
Status: a bisection has been found for this issue
S-has-mcve
Status: A Minimal Complete and Verifiable Example has been found for this issue
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
T-types
Relevant to the types team, which will review and decide on the PR/issue.
WG-trait-system-refactor
The Rustc Trait System Refactor Initiative (-Znext-solver)
I'm building
jf-pcs
library from https://github.com/EspressoSystems/jellyfishOn rust version 1.83
rust version meta
It only took ~11s to build the library
Now on rust 1.84 the compilation runs almost forever:
rust version meta
Suspect that this is due to the new trait solver.
The text was updated successfully, but these errors were encountered: