diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2017-03-25 21:14:18 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2017-05-25 05:52:09 +0000 |
| commit | 7fdc1fb2e40bc8fc5f1f59eb3b9d180619bcb210 (patch) | |
| tree | 3eafc3d795855f4eee2360daa08ac0144aa3104d /src/libsyntax_ext | |
| parent | 8497061a49cde5b70c416f2c964d1f252d82a7a0 (diff) | |
| download | rust-7fdc1fb2e40bc8fc5f1f59eb3b9d180619bcb210.tar.gz rust-7fdc1fb2e40bc8fc5f1f59eb3b9d180619bcb210.zip | |
Hygienize lifetimes.
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/deriving/generic/ty.rs | 12 | ||||
| -rw-r--r-- | src/libsyntax_ext/env.rs | 7 | ||||
| -rw-r--r-- | src/libsyntax_ext/format.rs | 4 |
3 files changed, 11 insertions, 12 deletions
diff --git a/src/libsyntax_ext/deriving/generic/ty.rs b/src/libsyntax_ext/deriving/generic/ty.rs index cfd52381538..9c89f99cbb5 100644 --- a/src/libsyntax_ext/deriving/generic/ty.rs +++ b/src/libsyntax_ext/deriving/generic/ty.rs @@ -118,14 +118,14 @@ pub fn nil_ty<'r>() -> Ty<'r> { fn mk_lifetime(cx: &ExtCtxt, span: Span, lt: &Option<&str>) -> Option<ast::Lifetime> { match *lt { - Some(ref s) => Some(cx.lifetime(span, cx.ident_of(*s).name)), + Some(s) => Some(cx.lifetime(span, Ident::from_str(s))), None => None, } } fn mk_lifetimes(cx: &ExtCtxt, span: Span, lt: &Option<&str>) -> Vec<ast::Lifetime> { match *lt { - Some(ref s) => vec![cx.lifetime(span, cx.ident_of(*s).name)], + Some(s) => vec![cx.lifetime(span, Ident::from_str(s))], None => vec![], } } @@ -243,11 +243,11 @@ impl<'a> LifetimeBounds<'a> { -> Generics { let lifetimes = self.lifetimes .iter() - .map(|&(ref lt, ref bounds)| { + .map(|&(lt, ref bounds)| { let bounds = bounds.iter() - .map(|b| cx.lifetime(span, cx.ident_of(*b).name)) + .map(|b| cx.lifetime(span, Ident::from_str(b))) .collect(); - cx.lifetime_def(span, cx.ident_of(*lt).name, vec![], bounds) + cx.lifetime_def(span, Ident::from_str(lt), vec![], bounds) }) .collect(); let ty_params = self.bounds @@ -277,7 +277,7 @@ pub fn get_explicit_self(cx: &ExtCtxt, respan(span, match *ptr { Borrowed(ref lt, mutbl) => { - let lt = lt.map(|s| cx.lifetime(span, cx.ident_of(s).name)); + let lt = lt.map(|s| cx.lifetime(span, Ident::from_str(s))); SelfKind::Region(lt, mutbl) } Raw(_) => { diff --git a/src/libsyntax_ext/env.rs b/src/libsyntax_ext/env.rs index ecf0a8f377e..affebbabbbd 100644 --- a/src/libsyntax_ext/env.rs +++ b/src/libsyntax_ext/env.rs @@ -13,7 +13,7 @@ // interface. // -use syntax::ast; +use syntax::ast::{self, Ident}; use syntax::ext::base::*; use syntax::ext::base; use syntax::ext::build::AstBuilder; @@ -39,10 +39,9 @@ pub fn expand_option_env<'cx>(cx: &'cx mut ExtCtxt, cx.std_path(&["option", "Option", "None"]), Vec::new(), vec![cx.ty_rptr(sp, - cx.ty_ident(sp, cx.ident_of("str")), + cx.ty_ident(sp, Ident::from_str("str")), Some(cx.lifetime(sp, - cx.ident_of("'static") - .name)), + Ident::from_str("'static"))), ast::Mutability::Immutable)], Vec::new())) } diff --git a/src/libsyntax_ext/format.rs b/src/libsyntax_ext/format.rs index 6f5ab50b2fe..24c1dfe289b 100644 --- a/src/libsyntax_ext/format.rs +++ b/src/libsyntax_ext/format.rs @@ -508,7 +508,7 @@ impl<'a, 'b> Context<'a, 'b> { let sp = piece_ty.span; let ty = ecx.ty_rptr(sp, ecx.ty(sp, ast::TyKind::Slice(piece_ty)), - Some(ecx.lifetime(sp, keywords::StaticLifetime.name())), + Some(ecx.lifetime(sp, keywords::StaticLifetime.ident())), ast::Mutability::Immutable); let slice = ecx.expr_vec_slice(sp, pieces); // static instead of const to speed up codegen by not requiring this to be inlined @@ -536,7 +536,7 @@ impl<'a, 'b> Context<'a, 'b> { // First, build up the static array which will become our precompiled // format "string" - let static_lifetime = self.ecx.lifetime(self.fmtsp, keywords::StaticLifetime.name()); + let static_lifetime = self.ecx.lifetime(self.fmtsp, keywords::StaticLifetime.ident()); let piece_ty = self.ecx.ty_rptr(self.fmtsp, self.ecx.ty_ident(self.fmtsp, self.ecx.ident_of("str")), Some(static_lifetime), |
