diff options
| author | Nick Cameron <ncameron@mozilla.com> | 2014-04-08 21:00:20 +1200 |
|---|---|---|
| committer | Nick Cameron <ncameron@mozilla.com> | 2014-04-23 12:30:58 +1200 |
| commit | 0540a59382769dcb1981f0542cd227796fc8ecf1 (patch) | |
| tree | 4c59f180ab564f532bfa25cfececaf7ff5f38dc5 /src/libsyntax | |
| parent | f78add10cde772b9d743a84a604dc584b63a06fc (diff) | |
| download | rust-0540a59382769dcb1981f0542cd227796fc8ecf1.tar.gz rust-0540a59382769dcb1981f0542cd227796fc8ecf1.zip | |
Check for unsized types in enums.
And allow the last field of a struct or variant to be unsized.
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast_map.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libsyntax/ast_map.rs b/src/libsyntax/ast_map.rs index d0e3ff4ae54..7a167237d3e 100644 --- a/src/libsyntax/ast_map.rs +++ b/src/libsyntax/ast_map.rs @@ -283,6 +283,13 @@ impl Map { } } + pub fn expect_variant(&self, id: NodeId) -> P<Variant> { + match self.find(id) { + Some(NodeVariant(variant)) => variant, + _ => fail!(format!("expected variant, found {}", self.node_to_str(id))), + } + } + pub fn expect_foreign_item(&self, id: NodeId) -> @ForeignItem { match self.find(id) { Some(NodeForeignItem(item)) => item, |
