diff --git a/cargo-miri/bin.rs b/cargo-miri/bin.rs index 21a6b68c61..f38e79732b 100644 --- a/cargo-miri/bin.rs +++ b/cargo-miri/bin.rs @@ -596,16 +596,13 @@ fn phase_cargo_rustc(args: env::Args) { let target_crate = is_target_crate(); let print = get_arg_flag_value("--print").is_some(); // whether this is cargo passing `--print` to get some infos - // rlib and cdylib are just skipped, we cannot interpret them and do not need them + // cdylib is just skipped, we cannot interpret it and do not need it // for the rest of the build either. - match get_arg_flag_value("--crate-type").as_deref() { - Some("rlib") | Some("cdylib") => { - if verbose { - eprint!("[cargo-miri rustc] (rlib/cdylib skipped)"); - } - return; + if get_arg_flag_value("--crate-type").as_deref() == Some("cdylib") { + if verbose { + eprint!("[cargo-miri rustc] (cdylib skipped)"); } - _ => {}, + return; } let store_json = |info: CrateRunInfo| { diff --git a/test-cargo-miri/Cargo.lock b/test-cargo-miri/Cargo.lock index e02439df5d..a3a708c6b5 100644 --- a/test-cargo-miri/Cargo.lock +++ b/test-cargo-miri/Cargo.lock @@ -12,6 +12,7 @@ version = "0.1.0" dependencies = [ "byteorder", "issue_1567", + "issue_1691", "rand", "serde_derive", ] @@ -49,6 +50,10 @@ dependencies = [ "byteorder", ] +[[package]] +name = "issue_1691" +version = "0.1.0" + [[package]] name = "libc" version = "0.2.81" diff --git a/test-cargo-miri/Cargo.toml b/test-cargo-miri/Cargo.toml index 1613f067ed..c42d6753e8 100644 --- a/test-cargo-miri/Cargo.toml +++ b/test-cargo-miri/Cargo.toml @@ -9,7 +9,8 @@ edition = "2018" [dependencies] byteorder = "1.0" -issue_1567 = { path ="issue-1567" } +issue_1567 = { path = "issue-1567" } +issue_1691 = { path = "issue-1691" } [dev-dependencies] rand = { version = "0.7", features = ["small_rng"] } diff --git a/test-cargo-miri/issue-1691/Cargo.toml b/test-cargo-miri/issue-1691/Cargo.toml new file mode 100644 index 0000000000..3100cc6a60 --- /dev/null +++ b/test-cargo-miri/issue-1691/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "issue_1691" +version = "0.1.0" +authors = ["Miri Team"] +edition = "2018" + +[lib] +crate-type = ["rlib"] diff --git a/test-cargo-miri/issue-1691/src/lib.rs b/test-cargo-miri/issue-1691/src/lib.rs new file mode 100644 index 0000000000..efde2b58e1 --- /dev/null +++ b/test-cargo-miri/issue-1691/src/lib.rs @@ -0,0 +1,3 @@ +pub fn use_me() -> bool { + true +} diff --git a/test-cargo-miri/src/lib.rs b/test-cargo-miri/src/lib.rs index 4e2c8b572c..b50dfbe51e 100644 --- a/test-cargo-miri/src/lib.rs +++ b/test-cargo-miri/src/lib.rs @@ -3,5 +3,5 @@ /// assert!(cargo_miri_test::make_true()); /// ``` pub fn make_true() -> bool { - true + issue_1691::use_me() }