Skip to content

350MB-long type name regression in 1.46 #76785

Closed
@kornelski

Description

@kornelski

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-type-systemArea: Type systemC-bugCategory: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions