Rollup merge of #68357 - ollie27:rustdoc_test_errors, r=GuillaumeGomez
rustdoc: Fix handling of compile errors when running `rustdoc --test` * Call `abort_if_errors` so all errors actually stop rustdoc. * Don't panic with "compiler aborted in rustdoc!", instead just exit to avoid the ugly panic message. * Use rlib as the crate type when searching for doctests matching what is used for doc generation so `#[no_std]` crates don't create "no global memory allocator" errors. Fixes #52243 Fixes #54010 r? @GuillaumeGomez
This commit is contained in:
@@ -43,7 +43,7 @@ pub fn run(options: Options) -> i32 {
|
||||
let crate_types = if options.proc_macro_crate {
|
||||
vec![config::CrateType::ProcMacro]
|
||||
} else {
|
||||
vec![config::CrateType::Dylib]
|
||||
vec![config::CrateType::Rlib]
|
||||
};
|
||||
|
||||
let sessopts = config::Options {
|
||||
@@ -117,12 +117,16 @@ pub fn run(options: Options) -> i32 {
|
||||
intravisit::walk_crate(this, krate);
|
||||
});
|
||||
});
|
||||
compiler.session().abort_if_errors();
|
||||
|
||||
let ret: Result<_, ErrorReported> = Ok(collector.tests);
|
||||
ret
|
||||
})
|
||||
})
|
||||
.expect("compiler aborted in rustdoc!");
|
||||
});
|
||||
let tests = match tests {
|
||||
Ok(tests) => tests,
|
||||
Err(ErrorReported) => return 1,
|
||||
};
|
||||
|
||||
test_args.insert(0, "rustdoctest".to_string());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user