diff options
| author | bors <bors@rust-lang.org> | 2017-09-22 14:05:16 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-09-22 14:05:16 +0000 |
| commit | 3eb19bf9b160825cd338b9419551670a30962c4e (patch) | |
| tree | 48e26786a711daa7b8fb248e5db6a94fc4efd62a /src/libsyntax | |
| parent | ee409a489eebab8a28078bb04c29d13442b74ee5 (diff) | |
| parent | f5505d185ccb9b1d84e6d7cdab20f901a778a86c (diff) | |
| download | rust-3eb19bf9b160825cd338b9419551670a30962c4e.tar.gz rust-3eb19bf9b160825cd338b9419551670a30962c4e.zip | |
Auto merge of #44691 - cramertj:underscore-lifetimes, r=nikomatsakis
Implement underscore lifetimes Part of https://github.com/rust-lang/rust/issues/44524
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/feature_gate.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index 6560943a932..1fef382c83a 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -389,6 +389,9 @@ declare_features! ( // Copy/Clone closures (RFC 2132) (active, clone_closures, "1.22.0", Some(44490)), (active, copy_closures, "1.22.0", Some(44490)), + + // allow `'_` placeholder lifetimes + (active, underscore_lifetimes, "1.22.0", Some(44524)), ); declare_features! ( @@ -1572,6 +1575,14 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> { } visit::walk_lifetime_def(self, lifetime_def) } + + fn visit_lifetime(&mut self, lt: &'a ast::Lifetime) { + if lt.ident.name == "'_" { + gate_feature_post!(&self, underscore_lifetimes, lt.span, + "underscore lifetimes are unstable"); + } + visit::walk_lifetime(self, lt) + } } pub fn get_features(span_handler: &Handler, krate_attrs: &[ast::Attribute]) -> Features { |
