Invalid resolution of root path without opening scope resolution
Open
Nobody has claimed this yet.
name resolution
- Dominant language
- C++
- Stars
- 2.9k
- Forks
- 231
- Avg merge
- 19h 55m
- Merged PRs (30d)
- 67
Description
#![feature(no_core)]
#![no_core]
pub mod foo {
pub fn bar() {}
}
pub mod baz {
pub use foo::bar;
}
rustc does not complain about this, but gccrs does. Changing the import to pub use ::foo::bar causes a correct resolution
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by compiling the provided no_core example with rustc and gccrs, then trace name resolution for pub use foo::bar and compare it with the explicitly rooted pub use ::foo::bar. Done means gccrs accepts the unrooted import with the same resolution as rustc; add or run a regression test if the relevant test location is identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 65/100