Skip to content

350MB-long type name regression in 1.46 #76785

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

Closed
kornelski opened this issue Sep 16, 2020 · 2 comments
Closed

350MB-long type name regression in 1.46 #76785

kornelski opened this issue Sep 16, 2020 · 2 comments
Labels
A-type-system Area: Type system C-bug Category: This is a bug. regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@kornelski
Copy link
Contributor

Build fails with:

reached the type-length limit while instantiating std::future::from_generator::<[s...0, ()>}]>, ()}]>>, ()}]>>, ()}]>

To reproduce:

git clone --recursive https://gitlab.com/crates.rs/crates.rs.git/ # f3f0c87e70d57e
cd crates.rs
cargo build

It compiles in 1.45 with the default type length limit.

In 1.46 it won't compile unless I add #![type_length_limit="347827478"] to a couple of libraries in the workspace.

Meta

It affects 1.46 stable, and nightlies since 2020-08-14.

cargo bisect-rustc blames 0a49057 for the regression.

@kornelski kornelski added the C-bug Category: This is a bug. label Sep 16, 2020
@jyn514 jyn514 added the regression-from-stable-to-stable Performance or correctness regression from one stable version to another. label Sep 16, 2020
@rustbot rustbot added the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label Sep 16, 2020
@jyn514 jyn514 added T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. A-type-system Area: Type system labels Sep 16, 2020
@jyn514
Copy link
Member

jyn514 commented Sep 16, 2020

It sounds like there are two different issues:

  1. The diagnostic problem, which is not a regression. This is the issue you're fixing in Show more of the overlong type on type-length error #76777.
  2. The type length limit issues, which is a regression (and has several related issues: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+type+length+limit).

Is that accurate? If so, do you mind if I change this only to track 1, since there are other issues tracking 2?

@kornelski
Copy link
Contributor Author

Ok, it looks like a dupe of #75992

@jyn514 jyn514 removed the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label Feb 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-type-system Area: Type system C-bug Category: This is a bug. regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

3 participants