Skip to content

Commit 7d84505

Browse files
committed
Error out in resolve if structs try to capture type parameters
Closes #3214
1 parent 91ae541 commit 7d84505

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/rustc/middle/resolve.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3522,8 +3522,8 @@ impl Resolver {
35223522
let outer_type_parameter_count = (*type_parameters).len();
35233523
let borrowed_type_parameters: &~[ty_param] = &*type_parameters;
35243524
do self.with_type_parameter_rib(HasTypeParameters
3525-
(borrowed_type_parameters, id, 0u,
3526-
NormalRibKind)) {
3525+
(borrowed_type_parameters, id, 0,
3526+
OpaqueFunctionRibKind)) {
35273527

35283528
// Resolve the type parameters.
35293529
self.resolve_type_parameters(*type_parameters, visitor);

src/test/compile-fail/issue-3214.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
// xfail-test
21
fn foo<T>() {
32
struct foo {
4-
mut x: T, //~ ERROR quux
3+
mut x: T, //~ ERROR attempt to use a type argument out of scope
4+
//~^ ERROR use of undeclared type name
55
drop { }
66
}
77
}

0 commit comments

Comments
 (0)