diff options
| author | Nick Cameron <ncameron@mozilla.com> | 2014-11-29 17:08:30 +1300 |
|---|---|---|
| committer | Nick Cameron <ncameron@mozilla.com> | 2014-12-12 19:11:59 +1300 |
| commit | 397dda8aa08ee540cffd36f542ebd1140227d0bd (patch) | |
| tree | ee4cc3c5f3434375ef05a0092f7df8154708b765 /src/libsyntax/visit.rs | |
| parent | da83ad8e2c8e2c5f522dc59963e00f55b1f8c03b (diff) | |
| download | rust-397dda8aa08ee540cffd36f542ebd1140227d0bd.tar.gz rust-397dda8aa08ee540cffd36f542ebd1140227d0bd.zip | |
Add support for equality constraints on associated types
Diffstat (limited to 'src/libsyntax/visit.rs')
| -rw-r--r-- | src/libsyntax/visit.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index f5e89dd61ff..a36f8b23ca3 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -573,8 +573,22 @@ pub fn walk_generics<'v, V: Visitor<'v>>(visitor: &mut V, generics: &'v Generics } walk_lifetime_decls_helper(visitor, &generics.lifetimes); for predicate in generics.where_clause.predicates.iter() { - visitor.visit_ident(predicate.span, predicate.ident); - walk_ty_param_bounds_helper(visitor, &predicate.bounds); + match predicate { + &ast::WherePredicate::BoundPredicate(ast::WhereBoundPredicate{span, + ident, + ref bounds, + ..}) => { + visitor.visit_ident(span, ident); + walk_ty_param_bounds_helper(visitor, bounds); + } + &ast::WherePredicate::EqPredicate(ast::WhereEqPredicate{id, + ref path, + ref ty, + ..}) => { + visitor.visit_path(path, id); + visitor.visit_ty(&**ty); + } + } } } |
