diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/issue-35075.rs | 19 | ||||
| -rw-r--r-- | src/test/compile-fail/resolve-type-param-in-item-in-trait.rs | 11 |
2 files changed, 23 insertions, 7 deletions
diff --git a/src/test/compile-fail/issue-35075.rs b/src/test/compile-fail/issue-35075.rs new file mode 100644 index 00000000000..a70452dcbd0 --- /dev/null +++ b/src/test/compile-fail/issue-35075.rs @@ -0,0 +1,19 @@ +// 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 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +struct Bar<T> { + inner: Foo<T> //~ ERROR type name `Foo` is undefined or not in scope +} + +enum Baz<T> { + Foo(Foo<T>) //~ ERROR type name `Foo` is undefined or not in scope +} + +fn main() {} diff --git a/src/test/compile-fail/resolve-type-param-in-item-in-trait.rs b/src/test/compile-fail/resolve-type-param-in-item-in-trait.rs index 30ff1ed0e26..a1572b85666 100644 --- a/src/test/compile-fail/resolve-type-param-in-item-in-trait.rs +++ b/src/test/compile-fail/resolve-type-param-in-item-in-trait.rs @@ -13,9 +13,8 @@ // scope (in this case, the enum). trait TraitA<A> { - fn outer(self) { + fn outer(&self) { enum Foo<B> { - //~^ ERROR parameter `B` is never used Variance(A) //~^ ERROR can't use type parameters from outer function } @@ -23,23 +22,21 @@ trait TraitA<A> { } trait TraitB<A> { - fn outer(self) { + fn outer(&self) { struct Foo<B>(A); //~^ ERROR can't use type parameters from outer function - //~^^ ERROR parameter `B` is never used } } trait TraitC<A> { - fn outer(self) { + fn outer(&self) { struct Foo<B> { a: A } //~^ ERROR can't use type parameters from outer function - //~^^ ERROR parameter `B` is never used } } trait TraitD<A> { - fn outer(self) { + fn outer(&self) { fn foo<B>(a: A) { } //~^ ERROR can't use type parameters from outer function } |
