diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-10-25 06:18:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-25 06:18:09 +0200 |
| commit | d6a18b6baf40b48abce2de5747d187a7bbad293d (patch) | |
| tree | c633afa2e2d4a69ce731623362fad60a23e526bb /src/libsyntax/parse/parser/path.rs | |
| parent | fb602c7e4f5f01203c63e9c6939efa8c8f7c962a (diff) | |
| parent | 15a6c09b6e8a977f2c6f5a73de01a20d00b37930 (diff) | |
| download | rust-d6a18b6baf40b48abce2de5747d187a7bbad293d.tar.gz rust-d6a18b6baf40b48abce2de5747d187a7bbad293d.zip | |
Rollup merge of #65742 - Centril:gate-pre-expansion-subset, r=davidtwco
Pre-expansion gate most of the things This is a subset of https://github.com/rust-lang/rust/pull/64672. A crater run has already been done and this PR implements conclusions according to https://github.com/rust-lang/rust/pull/64672#issuecomment-542703363. r? @davidtwco cc @petrochenkov
Diffstat (limited to 'src/libsyntax/parse/parser/path.rs')
| -rw-r--r-- | src/libsyntax/parse/parser/path.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libsyntax/parse/parser/path.rs b/src/libsyntax/parse/parser/path.rs index 639d61a2b5c..77709a22953 100644 --- a/src/libsyntax/parse/parser/path.rs +++ b/src/libsyntax/parse/parser/path.rs @@ -404,8 +404,9 @@ impl<'a> Parser<'a> { // Parse lifetime argument. args.push(GenericArg::Lifetime(self.expect_lifetime())); misplaced_assoc_ty_constraints.append(&mut assoc_ty_constraints); - } else if self.check_ident() && self.look_ahead(1, - |t| t == &token::Eq || t == &token::Colon) { + } else if self.check_ident() + && self.look_ahead(1, |t| t == &token::Eq || t == &token::Colon) + { // Parse associated type constraint. let lo = self.token.span; let ident = self.parse_ident()?; @@ -420,7 +421,14 @@ impl<'a> Parser<'a> { } else { unreachable!(); }; + let span = lo.to(self.prev_span); + + // Gate associated type bounds, e.g., `Iterator<Item: Ord>`. + if let AssocTyConstraintKind::Bound { .. } = kind { + self.sess.gated_spans.associated_type_bounds.borrow_mut().push(span); + } + constraints.push(AssocTyConstraint { id: ast::DUMMY_NODE_ID, ident, |
