| //@ build-pass |
| //@ compile-flags: --crate-type staticlib,dylib -Zstaticlib-prefer-dynamic |
| //@ no-prefer-dynamic |
| //@ needs-crate-type: dylib |
| |
| // Test that compiling for multiple crate types in a single compilation with |
| // mismatching allocator shim requirements doesn't result in the allocator shim |
| // missing entirely. |
| // In this particular test the dylib crate type will statically link libstd and |
| // thus need an allocator shim, while the staticlib crate type will dynamically |
| // link libstd and thus not need an allocator shim. |
| // The -Zstaticlib-prefer-dynamic flag could be avoided by doing it the other |
| // way around, but testing that the staticlib correctly has the allocator shim |
| // in that case would require a run-make test instead. |
| |
| pub fn foo() {} |