Skip to content

Rustdoc regression (overflow evaluating the requirement …) #79459

Closed
@weiznich

Description

@weiznich

Code

I tried this code:

pub trait Query {}

pub trait AsQuery {
    type Query;
}

impl<T: Query> AsQuery for T {
    type Query = T;
}

pub trait SelectDsl<Selection> {
    type Output;
}

impl<T, Selection> SelectDsl<Selection> for T
where
    T: AsQuery,
    T::Query: SelectDsl<Selection>,
{
    type Output = <T::Query as SelectDsl<Selection>>::Output;
}

pub type Select<Source, Selection> = <Source as SelectDsl<Selection>>::Output;

I expected to see this happen: cargo doc --no-deps succeeds

Instead, this happened: Running cargo doc --no-deps failed with the following error message:

error[E0275]: overflow evaluating the requirement `<Source as SelectDsl<Selection>>::Output == _`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0275`.
error: could not document `rustdoc_regression`

(Note that compiling/checking that code via cargo run/cargo check will just work fine)

Version it worked on

It most recently worked on: rustdoc 1.50.0-nightly (b48cafd9e 2020-11-25)

Version with regression

rustdoc --version:

rustdoc 1.50.0-nightly (72da5a9d8 2020-11-26)
binary: rustdoc
commit-hash: 72da5a9d85a522b11e80d0fdd1fd95247d442604
commit-date: 2020-11-26
host: x86_64-unknown-linux-gnu

If you know when this regression occurred, please add a line like below, replacing {channel} with one of stable, beta, or nightly.

@rustbot modify labels: +regression-from-stable-to-nightly -regression-untriaged

Metadata

Metadata

Assignees

No one assigned

    Labels

    -Znormalize-docsUnstable rustdoc option: Normalize/evaluate types when generating docsA-associated-itemsArea: Associated items (types, constants & functions)P-criticalCritical priorityT-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions