diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-01-31 12:26:21 +0000 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2025-02-02 18:28:48 +0000 |
commit | adf6afb8205de374e95d8fb08573428630289547 (patch) | |
tree | 783609de8cdd9fe81e82a20bae940603e6aec90e /gcc | |
parent | af2fdca5a3c9c18159a02dc8e94a95e701b66f81 (diff) | |
download | gcc-adf6afb8205de374e95d8fb08573428630289547.zip gcc-adf6afb8205de374e95d8fb08573428630289547.tar.gz gcc-adf6afb8205de374e95d8fb08573428630289547.tar.bz2 |
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.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 8 |
1 files changed, 7 insertions, 1 deletions
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 ec20e9a..a0c3a05 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<Namespace::Labels>`? + 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 ([&] () { |