From: Arthur Cohen Date: Fri, 31 Jan 2025 12:26:21 +0000 (+0000) Subject: nr2.0: late: Add proper handling for lang item PathInExpressions X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=adf6afb8205de374e95d8fb08573428630289547;p=thirdparty%2Fgcc.git nr2.0: late: Add proper handling for lang item PathInExpressions gcc/rust/ChangeLog: * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Special case lang item paths. --- diff --git a/gcc/rust/resolve/rust-late-name-resolver-2.0.cc b/gcc/rust/resolve/rust-late-name-resolver-2.0.cc index ec20e9af340..a0c3a051ea7 100644 --- a/gcc/rust/resolve/rust-late-name-resolver-2.0.cc +++ b/gcc/rust/resolve/rust-late-name-resolver-2.0.cc @@ -254,8 +254,14 @@ Late::visit (AST::PathInExpression &expr) // TODO: How do we have a nice error with `can't capture dynamic environment // in a function item` error here? // do we emit it in `get`? + if (expr.is_lang_item ()) - return; + { + ctx.map_usage (Usage (expr.get_node_id ()), + Definition (Analysis::Mappings::get ().get_lang_item_node ( + expr.get_lang_item ()))); + return; + } auto resolved = ctx.values.resolve_path (expr.get_segments ()).or_else ([&] () {