-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Rustdoc fails to build diesel documentation on current nightly #100620
Comments
I think the bug is coming from #100221. EDIT: also, would be quite useful to have a minimum code that we can use as a regression test. |
Reducing compiler errors coming from diesel is quite hard and takes a lot of time. Diesel is already part of the rust compiler tests-suite, although in an older version. So it might be easier to just update this version to a current diesel version. |
This is due to my PR. @rustbot claim |
Thanks @compiler-errors ! |
The corresponding test code is here: rust/src/tools/cargotest/main.rs Line 85 in 14a459b
I think it did not catch this issue as it uses an older diesel version (and it does not enable the corresponding feature flag). |
I minimized this: pub trait Bar<S> {}
pub trait Qux<T> {}
pub trait Foo<T, S> {
fn bar()
where
T: Bar<S>,
{
}
}
pub struct Concrete;
impl<S> Foo<(), S> for Concrete {}
impl<T, S> Bar<S> for T where S: Qux<T> {}
impl<T, S> Qux<T> for S where T: Bar<S> {} And fix PR incoming. |
…i-obk Avoid reporting overflow in `is_impossible_method` Fixes rust-lang#100620 We're evaluating a new predicate in a different param-env than it was checked during typeck, so be more careful about handling overflow errors. Instead of using `FulfillmentCtxt`, using `InferCtxt::evaluate_obligation` by itself will give us back the overflow error, so we can throw it away properly. This may give us more false-positives, but it doesn't regress the `<HashMap as Iterator>::rev` example that originally motivated adding `is_impossible_method` in the first place.
This apparently was not fixed. |
I can confirm that this is fixed for |
Code
I tried this code:
I expected to see this happen: Rustdoc compiles the documentation as for older toolchains (stable, < nightly-2022-08-10) or as it is happening for
cargo build
/cargo check
Instead, this happened: Rustdoc reports an compiler error
Version it worked on
It most recently worked on: nightly-2022-08-09
Version with regression
rustc --version --verbose
:rustdoc --version --verbose
:cargo-rustc-bisect
points to 6d3f1be as merge that introduced this regression which is a roll-up PR.#100221 and #99787 are included there and seems to be rustdoc releated. Pinging @compiler-errors and @aDotInTheVoid as authors of these PR's.
The text was updated successfully, but these errors were encountered: