diff options
| author | bors <bors@rust-lang.org> | 2019-08-17 01:04:36 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-08-17 01:04:36 +0000 |
| commit | 211d1e073527915f7ce1854ad8b30dc0c45845e8 (patch) | |
| tree | b0f6d090762cc3f19f2217afec4bba476b2e663a /src/libsyntax/parse | |
| parent | bdfd698f37184da42254a03ed466ab1f90e6fb6c (diff) | |
| parent | e8fb78bf6c120470d2134e92c26f22c1b8a75187 (diff) | |
| download | rust-211d1e073527915f7ce1854ad8b30dc0c45845e8.tar.gz rust-211d1e073527915f7ce1854ad8b30dc0c45845e8.zip | |
Auto merge of #63648 - Centril:rollup-2kpdrj1, r=Centril
Rollup of 6 pull requests
Successful merges:
- #63149 (resolve: Populate external modules in more automatic and lazy way)
- #63545 (Feature gate 'yield $expr?' pre-expansion)
- #63548 (Update rustc-demangle to 0.1.16.)
- #63558 (Remap paths for proc-macro crates.)
- #63641 (add git keyword to submodule comments in config.example.toml)
- #63642 (Rename overflowing_{add,sub,mul} intrinsics to wrapping_{add,sub,mul}.)
Failed merges:
r? @ghost
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/mod.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser/expr.rs | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs index 26f78b9c5c7..9088f929372 100644 --- a/src/libsyntax/parse/mod.rs +++ b/src/libsyntax/parse/mod.rs @@ -63,6 +63,8 @@ pub struct ParseSess { pub let_chains_spans: Lock<Vec<Span>>, // Places where `async || ..` exprs were used and should be feature gated. pub async_closure_spans: Lock<Vec<Span>>, + // Places where `yield e?` exprs were used and should be feature gated. + pub yield_spans: Lock<Vec<Span>>, pub injected_crate_name: Once<Symbol>, } @@ -92,6 +94,7 @@ impl ParseSess { param_attr_spans: Lock::new(Vec::new()), let_chains_spans: Lock::new(Vec::new()), async_closure_spans: Lock::new(Vec::new()), + yield_spans: Lock::new(Vec::new()), injected_crate_name: Once::new(), } } diff --git a/src/libsyntax/parse/parser/expr.rs b/src/libsyntax/parse/parser/expr.rs index f4b6a926734..ccc6bd15067 100644 --- a/src/libsyntax/parse/parser/expr.rs +++ b/src/libsyntax/parse/parser/expr.rs @@ -997,6 +997,9 @@ impl<'a> Parser<'a> { } else { ex = ExprKind::Yield(None); } + + let span = lo.to(hi); + self.sess.yield_spans.borrow_mut().push(span); } else if self.eat_keyword(kw::Let) { return self.parse_let_expr(attrs); } else if is_span_rust_2018 && self.eat_keyword(kw::Await) { |
