about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser
diff options
context:
space:
mode:
authorSantiago Pastorino <spastorino@gmail.com>2025-02-10 18:09:31 -0300
committerSantiago Pastorino <spastorino@gmail.com>2025-03-06 17:58:33 -0300
commit38b4746d824294d05d87a6e461113a99ac052c34 (patch)
tree817300a0db7da3d4afc6e5a864eb64e440438b0f /compiler/rustc_parse/src/parser
parent4cbca777ea94b2d7b5e59d1511fad858326e3e4b (diff)
Support nested use closures
Diffstat (limited to 'compiler/rustc_parse/src/parser')
-rw-r--r--compiler/rustc_parse/src/parser/item.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs
index 7b511f503dd..961e81989d6 100644
--- a/compiler/rustc_parse/src/parser/item.rs
+++ b/compiler/rustc_parse/src/parser/item.rs
@@ -209,7 +209,9 @@ impl<'a> Parser<'a> {
         let check_pub = def == &Defaultness::Final;
         let mut def_ = || mem::replace(def, Defaultness::Final);
 
-        let info = if self.eat_keyword_case(exp!(Use), case) {
+        let info = if !self.look_ahead(1, |t| [token::OrOr, token::Or].contains(&t.kind))
+            && self.eat_keyword_case(exp!(Use), case)
+        {
             self.parse_use_item()?
         } else if self.check_fn_front_matter(check_pub, case) {
             // FUNCTION ITEM