diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2012-07-11 10:28:30 -0700 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2012-07-11 14:41:41 -0700 |
| commit | b9aa9def858cfc66d411972b10ce3d98479acd78 (patch) | |
| tree | c65223b2926112a34427574cdd9c2feee6d06430 /src/rustc/metadata/decoder.rs | |
| parent | 9b094c0baf4fa758c80fb9db8cc172f03789adbb (diff) | |
infer when types are region parameterized rather than requiring /&
- removes various fields from various variants in the AST - also update tests not to use this notation
Diffstat (limited to 'src/rustc/metadata/decoder.rs')
| -rw-r--r-- | src/rustc/metadata/decoder.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/rustc/metadata/decoder.rs b/src/rustc/metadata/decoder.rs index b3e5660c4a8..fd2eb10d8d5 100644 --- a/src/rustc/metadata/decoder.rs +++ b/src/rustc/metadata/decoder.rs @@ -21,6 +21,7 @@ export get_class_fields; export get_symbol; export get_enum_variants; export get_type; +export get_region_param; export get_type_param_count; export get_impl_trait; export get_class_method; @@ -185,15 +186,10 @@ fn item_ty_param_bounds(item: ebml::doc, tcx: ty::ctxt, cdata: cmd) @bounds } -fn item_ty_region_param(item: ebml::doc) -> ast::region_param { +fn item_ty_region_param(item: ebml::doc) -> bool { alt ebml::maybe_get_doc(item, tag_region_param) { - some(rp_doc) { - let dsr = ebml::ebml_deserializer(rp_doc); - ast::deserialize_region_param(dsr) - } - none { // not all families of items have region params - ast::rp_none - } + some(_) { true } + none { false } } } @@ -325,6 +321,11 @@ fn get_type(cdata: cmd, id: ast::node_id, tcx: ty::ctxt) ret {bounds: tp_bounds, rp: rp, ty: t}; } +fn get_region_param(cdata: cmd, id: ast::node_id) -> bool { + let item = lookup_item(id, cdata.data); + ret item_ty_region_param(item); +} + fn get_type_param_count(data: @~[u8], id: ast::node_id) -> uint { item_ty_param_count(lookup_item(id, data)) } |
