From 09f42ee3331815347767b5a821813a927758a421 Mon Sep 17 00:00:00 2001 From: topecongiro Date: Tue, 4 Apr 2017 21:00:56 +0900 Subject: Move 'overlapping_inherent_impls' test to ui --- src/test/compile-fail/inherent-overlap.rs | 46 ---------------------- .../ui/codemap_tests/overlapping_inherent_impls.rs | 46 ++++++++++++++++++++++ .../overlapping_inherent_impls.stderr | 29 ++++++++++++++ 3 files changed, 75 insertions(+), 46 deletions(-) delete mode 100644 src/test/compile-fail/inherent-overlap.rs create mode 100644 src/test/ui/codemap_tests/overlapping_inherent_impls.rs create mode 100644 src/test/ui/codemap_tests/overlapping_inherent_impls.stderr (limited to 'src/test') diff --git a/src/test/compile-fail/inherent-overlap.rs b/src/test/compile-fail/inherent-overlap.rs deleted file mode 100644 index 18e77ddfd2c..00000000000 --- a/src/test/compile-fail/inherent-overlap.rs +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2016 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// Test that you cannot define items with the same name in overlapping inherent -// impl blocks. - -#![allow(unused)] - -struct Foo; - -impl Foo { - fn id() {} //~ ERROR duplicate definitions -} - -impl Foo { - fn id() {} -} - -struct Bar(T); - -impl Bar { - fn bar(&self) {} //~ ERROR duplicate definitions -} - -impl Bar { - fn bar(&self) {} -} - -struct Baz(T); - -impl Baz { - fn baz(&self) {} //~ ERROR duplicate definitions -} - -impl Baz> { - fn baz(&self) {} -} - -fn main() {} diff --git a/src/test/ui/codemap_tests/overlapping_inherent_impls.rs b/src/test/ui/codemap_tests/overlapping_inherent_impls.rs new file mode 100644 index 00000000000..a626b63b31b --- /dev/null +++ b/src/test/ui/codemap_tests/overlapping_inherent_impls.rs @@ -0,0 +1,46 @@ +// Copyright 2016 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that you cannot define items with the same name in overlapping inherent +// impl blocks. + +#![allow(unused)] + +struct Foo; + +impl Foo { + fn id() {} +} + +impl Foo { + fn id() {} +} + +struct Bar(T); + +impl Bar { + fn bar(&self) {} +} + +impl Bar { + fn bar(&self) {} +} + +struct Baz(T); + +impl Baz { + fn baz(&self) {} +} + +impl Baz> { + fn baz(&self) {} +} + +fn main() {} diff --git a/src/test/ui/codemap_tests/overlapping_inherent_impls.stderr b/src/test/ui/codemap_tests/overlapping_inherent_impls.stderr new file mode 100644 index 00000000000..de8a24cf33f --- /dev/null +++ b/src/test/ui/codemap_tests/overlapping_inherent_impls.stderr @@ -0,0 +1,29 @@ +error[E0592]: duplicate definitions with name `id` + --> $DIR/overlapping_inherent_impls.rs:19:5 + | +19 | fn id() {} + | ^^^^^^^^^^ duplicate definitions for `id` +... +23 | fn id() {} + | ---------- other definition for `id` + +error[E0592]: duplicate definitions with name `bar` + --> $DIR/overlapping_inherent_impls.rs:29:5 + | +29 | fn bar(&self) {} + | ^^^^^^^^^^^^^^^^ duplicate definitions for `bar` +... +33 | fn bar(&self) {} + | ---------------- other definition for `bar` + +error[E0592]: duplicate definitions with name `baz` + --> $DIR/overlapping_inherent_impls.rs:39:5 + | +39 | fn baz(&self) {} + | ^^^^^^^^^^^^^^^^ duplicate definitions for `baz` +... +43 | fn baz(&self) {} + | ---------------- other definition for `baz` + +error: aborting due to 3 previous errors + -- cgit 1.4.1-3-g733a5 From db60b0b374ef4999e3c960a7230b18bcddf82ea0 Mon Sep 17 00:00:00 2001 From: topecongiro Date: Tue, 4 Apr 2017 21:08:56 +0900 Subject: Move 'coherence-overlapping-inherent-impl-trait' test to ui --- .../coherence-overlapping-inherent-impl-trait.rs | 16 ---------------- .../coherence-overlapping-inherent-impl-trait.rs | 16 ++++++++++++++++ .../coherence-overlapping-inherent-impl-trait.stderr | 10 ++++++++++ 3 files changed, 26 insertions(+), 16 deletions(-) delete mode 100644 src/test/compile-fail/coherence-overlapping-inherent-impl-trait.rs create mode 100644 src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.rs create mode 100644 src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.stderr (limited to 'src/test') diff --git a/src/test/compile-fail/coherence-overlapping-inherent-impl-trait.rs b/src/test/compile-fail/coherence-overlapping-inherent-impl-trait.rs deleted file mode 100644 index 158d3606104..00000000000 --- a/src/test/compile-fail/coherence-overlapping-inherent-impl-trait.rs +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2016 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![allow(dead_code)] - -trait C {} -impl C { fn f() {} } //~ ERROR duplicate definitions with name `f` -impl C { fn f() {} } -fn main() { } diff --git a/src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.rs b/src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.rs new file mode 100644 index 00000000000..a72ad0351e3 --- /dev/null +++ b/src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.rs @@ -0,0 +1,16 @@ +// Copyright 2016 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![allow(dead_code)] + +trait C {} +impl C { fn f() {} } +impl C { fn f() {} } +fn main() { } diff --git a/src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.stderr b/src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.stderr new file mode 100644 index 00000000000..7f1ab929c6f --- /dev/null +++ b/src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.stderr @@ -0,0 +1,10 @@ +error[E0592]: duplicate definitions with name `f` + --> $DIR/coherence-overlapping-inherent-impl-trait.rs:14:10 + | +14 | impl C { fn f() {} } + | ^^^^^^^^^ duplicate definitions for `f` +15 | impl C { fn f() {} } + | --------- other definition for `f` + +error: aborting due to previous error + -- cgit 1.4.1-3-g733a5