Add regression test for #64319 back in.
The regression test is originally from #64324 but was removed again after the fix in there turned out to break other things.
This commit is contained in:
parent
ce6995f98e
commit
0a9bcb0adf
|
@ -0,0 +1,39 @@
|
||||||
|
-include ../../run-make-fulldeps/tools.mk
|
||||||
|
|
||||||
|
# Different optimization levels imply different values for `-Zshare-generics`,
|
||||||
|
# so try out a whole bunch of combinations to make sure everything is compatible
|
||||||
|
all:
|
||||||
|
# First up, try some defaults
|
||||||
|
$(RUSTC) --crate-type rlib foo.rs
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=3
|
||||||
|
|
||||||
|
# Next try mixing up some things explicitly
|
||||||
|
$(RUSTC) --crate-type rlib foo.rs -Z share-generics=no
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -Z share-generics=no
|
||||||
|
$(RUSTC) --crate-type rlib foo.rs -Z share-generics=no
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -Z share-generics=yes
|
||||||
|
$(RUSTC) --crate-type rlib foo.rs -Z share-generics=yes
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -Z share-generics=no
|
||||||
|
$(RUSTC) --crate-type rlib foo.rs -Z share-generics=yes
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -Z share-generics=yes
|
||||||
|
|
||||||
|
# Now combine a whole bunch of options together
|
||||||
|
$(RUSTC) --crate-type rlib foo.rs
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -Z share-generics=no
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -Z share-generics=yes
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=1
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=1 -Z share-generics=no
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=1 -Z share-generics=yes
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=2
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=2 -Z share-generics=no
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=2 -Z share-generics=yes
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=3
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=3 -Z share-generics=no
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=3 -Z share-generics=yes
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=s
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=s -Z share-generics=no
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=s -Z share-generics=yes
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=z
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=z -Z share-generics=no
|
||||||
|
$(RUSTC) --crate-type dylib bar.rs -C opt-level=z -Z share-generics=yes
|
|
@ -0,0 +1,5 @@
|
||||||
|
extern crate foo;
|
||||||
|
|
||||||
|
pub fn bar() {
|
||||||
|
foo::foo();
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
pub fn foo() {
|
||||||
|
bar::<usize>();
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn bar<T>() {
|
||||||
|
baz();
|
||||||
|
}
|
||||||
|
|
||||||
|
fn baz() {}
|
Loading…
Reference in New Issue