Skip to content

350MB-long type name regression in 1.46 #76785

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # 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