diff options
| author | Michael Goulet <michael@errs.io> | 2023-10-03 19:06:17 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2023-10-03 19:12:00 +0000 |
| commit | 7815641be0751ea3e2ac034585207632035af2ee (patch) | |
| tree | c90cb4e1b2e9b6cf2617d7410333c6b4e66f1fe5 /compiler/rustc_parse/src/parser | |
| parent | 5333b878c8bc1c4267a67ea3682663629e47541a (diff) | |
| download | rust-7815641be0751ea3e2ac034585207632035af2ee.tar.gz rust-7815641be0751ea3e2ac034585207632035af2ee.zip | |
Gate against auto traits pre-expansion
Diffstat (limited to 'compiler/rustc_parse/src/parser')
| -rw-r--r-- | compiler/rustc_parse/src/parser/item.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs index aad4edaba90..cc54cc5bebb 100644 --- a/compiler/rustc_parse/src/parser/item.rs +++ b/compiler/rustc_parse/src/parser/item.rs @@ -813,7 +813,12 @@ impl<'a> Parser<'a> { fn parse_item_trait(&mut self, attrs: &mut AttrVec, lo: Span) -> PResult<'a, ItemInfo> { let unsafety = self.parse_unsafety(Case::Sensitive); // Parse optional `auto` prefix. - let is_auto = if self.eat_keyword(kw::Auto) { IsAuto::Yes } else { IsAuto::No }; + let is_auto = if self.eat_keyword(kw::Auto) { + self.sess.gated_spans.gate(sym::auto_traits, self.prev_token.span); + IsAuto::Yes + } else { + IsAuto::No + }; self.expect_keyword(kw::Trait)?; let ident = self.parse_ident()?; |
