diff options
Diffstat (limited to 'src/test/ui/inherent-impls-overlap-check/overlap.rs')
-rw-r--r-- | src/test/ui/inherent-impls-overlap-check/overlap.rs | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/src/test/ui/inherent-impls-overlap-check/overlap.rs b/src/test/ui/inherent-impls-overlap-check/overlap.rs deleted file mode 100644 index 6f2801197..000000000 --- a/src/test/ui/inherent-impls-overlap-check/overlap.rs +++ /dev/null @@ -1,71 +0,0 @@ -// aux-build:repeat.rs - -#![allow(unused)] - -// This tests the allocating algo branch of the -// inherent impls overlap checker. -// This branch was added by PR: -// https://github.com/rust-lang/rust/pull/78317 -// In this test, we repeat many impl blocks -// to trigger the allocating branch. - -// Simple overlap - -extern crate repeat; - -struct Foo {} - -repeat::repeat_with_idents!(impl Foo { fn IDENT() {} }); - -impl Foo { fn hello() {} } //~ERROR duplicate definitions with name `hello` -impl Foo { fn hello() {} } - -// Transitive overlap - -struct Foo2 {} - -repeat::repeat_with_idents!(impl Foo2 { fn IDENT() {} }); - -impl Foo2 { - fn bar() {} - fn hello2() {} //~ERROR duplicate definitions with name `hello2` -} - -impl Foo2 { - fn baz() {} - fn hello2() {} -} - -// Slightly stronger transitive overlap - -struct Foo3 {} - -repeat::repeat_with_idents!(impl Foo3 { fn IDENT() {} }); - -impl Foo3 { - fn bar() {} //~ERROR duplicate definitions with name `bar` - fn hello3() {} //~ERROR duplicate definitions with name `hello3` -} - -impl Foo3 { - fn bar() {} - fn hello3() {} -} - -// Generic overlap - -struct Bar<T>(T); - -struct A; -struct B; - -repeat::repeat_with_idents!(impl Bar<A> { fn IDENT() {} }); - -impl Bar<A> { fn foo() {} fn bar2() {} } -impl Bar<B> { - fn foo() {} - fn bar2() {} //~ERROR duplicate definitions with name `bar2` -} -impl Bar<B> { fn bar2() {} } - -fn main() {} |