-
Notifications
You must be signed in to change notification settings - Fork 13.4k
can reach pub
items within priv mod
s
#5129
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
I don't think |
Still reproducible. |
Was able to reproduce that this compiles, but also not sure if it is a bug. @pcwalton can you look at this? |
Nominating for well-defined. I think that this is another case where it'd be awesome to have resolve rules actually written down somewhere. Currently it sounds like it's still "whatever resolve does". |
accepted for production-ready milestone |
Sub-bug of #6143 |
Also, there is relevant short discussion on #8215 : namely, assuming we adopt the rule stated by @bblum as "pub items in a non-pub mod are visible to the rest of the crate, but not visible to users outside the crate", then the above code is not a bug, if I understand correctly. (However, this example also demonstrates that bblum's rule is not compatible with the fifth condition listed by @alexcrichton: "Any local-crate path which goes outside the bounds of [conditions 3 and 4] will only resolve if each component of the path is pub. For example I could reach into a child's private mod's pub items, but not the child's private mod's non-pub items." Again, that's assuming I understand correctly.) |
I'm closing this in favor of #8215. This specific issue would be fixed by those rules, and otherwise the validity of this code will be determined by the decision on that bug. |
Use `checked_sub` to avoid index out of bounds (Fixes) rust-lang#4681 (possibly) The issue likely occurs due to `lit_snip.len() < suffix.len() + 1`. You can see similar backtrace to change it to `lit_snip.len() - suffix.len() - 1000` or something then run `cargo test --release`. But I couldn't come up with the test so I'd leave the issue open if we want. changelog: Fix potential ICE in `misc_early`
I'm not sure I entirely grok visibility rules, but the following seems to compile when I don't think it should.
The text was updated successfully, but these errors were encountered: