-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
CI accepted doctests that do not build (due to missing feature gates) #114838
Comments
Also worth noting, I believe the doctests were passing for me when I ran them locally as well. |
Yeah I checked and they pass locally for me as well. I just don't understand how that's possible. Either rustdoc is doing something odd or this is caused by the special bootstrap magic. But I can't think of how that would lead to just ignoring a "missing feature gate" error... It is a somewhat special feature gate since it is about the path, not the item. So maybe something in #95956 is going wrong in combination with how bootstrap sets up the sysroot, or so...? Cc @rust-lang/bootstrap @yaahc |
Thanks for the ping on bootstrap team, will check it by the coming weekend. |
FWIW when running the tests via https://github.com/rust-lang/miri-test-libstd/, the feature gate error does show up as expected. That's how I noticed this to begin with. That repo runs the tests without bootstrap but there are also some other differences (like setting the |
The main problem behind this issue is that this function rust/compiler/rustc_passes/src/stability.rs Lines 848 to 851 in 32aa405
If you swap rust/library/core/src/error.rs Line 2 in 32aa405
error_generic_member_access in this module, then same problem will happen for error_generic_member_access and error_in_core errors will work as expected.
I am not really sure if we should keep the |
But what is different in bootstrap that makes this happen? |
This is why.. Lines 1725 to 1727 in b60e31b
sorry for the noise, was debugging/looking on the wrong point:) |
I still don't get it. Note that all other unstable items are properly detected. E.g., removing the Why does that env var affect "path unstable" but not "item unstable"? |
Can you add |
No need to bother Miri. We can just try this file: #![allow(unused)]
use core::error::{request_ref, Request};
fn main() {} With |
See #97301 (comment) for a bit of discussion on how to best fix this. |
WG-prioritization assigning priority (Zulip discussion). (seems not a regression IIUC) @rustbot label -I-prioritize +P-high |
This will stop reproducing when #114837 lands, but right now you can click here, click on "Run", and playground opens and you click on "Run" again, and you get an error. How did CI accept a doctest that does not build?
The text was updated successfully, but these errors were encountered: