diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-10-15 15:29:45 -0700 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-10-15 16:27:53 -0700 |
| commit | 7d845056540237e54bf8f02ab8f5e477f71a7edd (patch) | |
| tree | 8008cae3619e6776eb0f9f69de18d05daca7c780 | |
| parent | 91ae5412d8141ea958924408bf3c1def5edca806 (diff) | |
Error out in resolve if structs try to capture type parameters
Closes #3214
| -rw-r--r-- | src/rustc/middle/resolve.rs | 4 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-3214.rs | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/rustc/middle/resolve.rs b/src/rustc/middle/resolve.rs index 81ea6daf195..6f7230fe4c1 100644 --- a/src/rustc/middle/resolve.rs +++ b/src/rustc/middle/resolve.rs @@ -3522,8 +3522,8 @@ impl Resolver { let outer_type_parameter_count = (*type_parameters).len(); let borrowed_type_parameters: &~[ty_param] = &*type_parameters; do self.with_type_parameter_rib(HasTypeParameters - (borrowed_type_parameters, id, 0u, - NormalRibKind)) { + (borrowed_type_parameters, id, 0, + OpaqueFunctionRibKind)) { // Resolve the type parameters. self.resolve_type_parameters(*type_parameters, visitor); diff --git a/src/test/compile-fail/issue-3214.rs b/src/test/compile-fail/issue-3214.rs index 3c783b99232..7008f8c4ce2 100644 --- a/src/test/compile-fail/issue-3214.rs +++ b/src/test/compile-fail/issue-3214.rs @@ -1,7 +1,7 @@ -// xfail-test fn foo<T>() { struct foo { - mut x: T, //~ ERROR quux + mut x: T, //~ ERROR attempt to use a type argument out of scope + //~^ ERROR use of undeclared type name drop { } } } |
