From b3757d0e514e4bcac5b783daade1bed3c99220bc Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 13 Feb 2021 19:39:03 +0100 Subject: [PATCH] add regression test for #1567 --- test-cargo-miri/Cargo.lock | 8 ++++++++ test-cargo-miri/Cargo.toml | 3 ++- test-cargo-miri/issue-1567/Cargo.toml | 13 +++++++++++++ test-cargo-miri/issue-1567/src/lib.rs | 5 +++++ 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 test-cargo-miri/issue-1567/Cargo.toml create mode 100644 test-cargo-miri/issue-1567/src/lib.rs diff --git a/test-cargo-miri/Cargo.lock b/test-cargo-miri/Cargo.lock index 8c287098d323..e02439df5d5c 100644 --- a/test-cargo-miri/Cargo.lock +++ b/test-cargo-miri/Cargo.lock @@ -11,6 +11,7 @@ name = "cargo-miri-test" version = "0.1.0" dependencies = [ "byteorder", + "issue_1567", "rand", "serde_derive", ] @@ -41,6 +42,13 @@ dependencies = [ "libc", ] +[[package]] +name = "issue_1567" +version = "0.1.0" +dependencies = [ + "byteorder", +] + [[package]] name = "libc" version = "0.2.81" diff --git a/test-cargo-miri/Cargo.toml b/test-cargo-miri/Cargo.toml index 54a03f5f5ded..1613f067ed34 100644 --- a/test-cargo-miri/Cargo.toml +++ b/test-cargo-miri/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -members = ["subcrate"] +members = ["subcrate", "issue-1567"] [package] name = "cargo-miri-test" @@ -9,6 +9,7 @@ edition = "2018" [dependencies] byteorder = "1.0" +issue_1567 = { path ="issue-1567" } [dev-dependencies] rand = { version = "0.7", features = ["small_rng"] } diff --git a/test-cargo-miri/issue-1567/Cargo.toml b/test-cargo-miri/issue-1567/Cargo.toml new file mode 100644 index 000000000000..6a6e09036a01 --- /dev/null +++ b/test-cargo-miri/issue-1567/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "issue_1567" +version = "0.1.0" +authors = ["Miri Team"] +edition = "2018" + +[lib] +# Regression test for https://github.com/rust-lang/miri/issues/1567: crate must have this crate-type set. +# It must also depend on some other crate and use that dependency (we use byteorder). +crate-type = ["cdylib", "rlib"] + +[dependencies] +byteorder = "1.0" diff --git a/test-cargo-miri/issue-1567/src/lib.rs b/test-cargo-miri/issue-1567/src/lib.rs new file mode 100644 index 000000000000..568617c3ba3c --- /dev/null +++ b/test-cargo-miri/issue-1567/src/lib.rs @@ -0,0 +1,5 @@ +use byteorder::{BigEndian, ByteOrder}; + +pub fn use_the_dependency() { + let _n = ::read_u32(&[1,2,3,4]); +}