diff --git a/test-cargo-miri/Cargo.lock b/test-cargo-miri/Cargo.lock index eff36026def..1f1541b92a5 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", + "cdylib", "issue_1567", "issue_1691", "issue_1705", @@ -18,6 +19,13 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "cdylib" +version = "0.1.0" +dependencies = [ + "byteorder", +] + [[package]] name = "cfg-if" version = "0.1.10" diff --git a/test-cargo-miri/Cargo.toml b/test-cargo-miri/Cargo.toml index 4bc5d121ac7..7ffe7d04ea4 100644 --- a/test-cargo-miri/Cargo.toml +++ b/test-cargo-miri/Cargo.toml @@ -9,6 +9,7 @@ edition = "2018" [dependencies] byteorder = "1.0" +cdylib = { path = "cdylib" } issue_1567 = { path = "issue-1567" } issue_1691 = { path = "issue-1691" } issue_1705 = { path = "issue-1705" } diff --git a/test-cargo-miri/cdylib/Cargo.toml b/test-cargo-miri/cdylib/Cargo.toml new file mode 100644 index 00000000000..4e5b5601a56 --- /dev/null +++ b/test-cargo-miri/cdylib/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "cdylib" +version = "0.1.0" +authors = ["Miri Team"] +edition = "2018" + +[lib] +# cargo-miri used to handle `cdylib` crate-type specially (https://github.com/rust-lang/miri/pull/1577). +crate-type = ["cdylib"] + +[dependencies] +byteorder = "1.0" diff --git a/test-cargo-miri/cdylib/src/lib.rs b/test-cargo-miri/cdylib/src/lib.rs new file mode 100644 index 00000000000..dd89048284d --- /dev/null +++ b/test-cargo-miri/cdylib/src/lib.rs @@ -0,0 +1,6 @@ +use byteorder::{BigEndian, ByteOrder}; + +#[no_mangle] +extern "C" fn use_the_dependency() { + let _n = <BigEndian as ByteOrder>::read_u64(&[1,2,3,4,5,6,7,8]); +}