diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-08-30 07:05:25 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-09-05 04:52:50 +0000 |
| commit | 234d68b7d35687999c36bc39ffd414bca7373a48 (patch) | |
| tree | 984491091426085703b5ea074c77d46e6a2ba90a /src/libsyntax/ext | |
| parent | e1e5c14bad0e8989523cf5974d98a8257badb88d (diff) | |
| download | rust-234d68b7d35687999c36bc39ffd414bca7373a48.tar.gz rust-234d68b7d35687999c36bc39ffd414bca7373a48.zip | |
Improve `expand_type`.
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/expand.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index 5c548533e93..6f8af66632f 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -489,14 +489,17 @@ fn expand_trait_item(ti: ast::TraitItem, fld: &mut MacroExpander) } pub fn expand_type(t: P<ast::Ty>, fld: &mut MacroExpander) -> P<ast::Ty> { - let t = match t.node.clone() { + let t = match t.node { + ast::TyKind::Mac(_) => t.unwrap(), + _ => return fold::noop_fold_ty(t, fld), + }; + + match t.node { ast::TyKind::Mac(mac) => { expand_mac_invoc(mac, None, Vec::new(), t.span, fld) } - _ => t - }; - - fold::noop_fold_ty(t, fld) + _ => unreachable!(), + } } /// A tree-folder that performs macro expansion |
