diff options
| author | Seo Sanghyeon <sanxiyn@gmail.com> | 2016-07-31 00:58:30 +0900 |
|---|---|---|
| committer | Seo Sanghyeon <sanxiyn@gmail.com> | 2016-07-31 00:58:30 +0900 |
| commit | 03652157f9da55ea58debabe22bb7105ef8ebdf7 (patch) | |
| tree | abc9f9339bf238bb955b70d12669384f5711ded8 /src/test | |
| parent | 7580534c3a142c79340576c109f3cd73950996c0 (diff) | |
| download | rust-03652157f9da55ea58debabe22bb7105ef8ebdf7.tar.gz rust-03652157f9da55ea58debabe22bb7105ef8ebdf7.zip | |
Suppress unused type parameter error when type has error field
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 } |
