// The rlib produced by a no_builtins crate should be explicitely linked // during compilation, and as a result be present in the linker arguments. // See the comments inside this file for more details. // See https://github.com/rust-lang/rust/pull/35637 use run_make_support::{rust_lib_name, rustc}; fn main() { // Compile a `#![no_builtins]` rlib crate rustc().input("no_builtins.rs").run(); // Build an executable that depends on that crate using LTO. The no_builtins crate doesn't // participate in LTO, so its rlib must be explicitly // linked into the final binary. Verify this by grepping the linker arguments. rustc() .input("main.rs") .arg("-Clto") .print("link-args") .run() .assert_stdout_contains(rust_lib_name("no_builtins")); }