Uh oh!
There was an error while loading. Please reload this page.
Suggest appropriate path when calling associated item on bare types - #60045
Conversation
rust-highfive
commented
Apr 17, 2019
r? @varkor (rust_highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
petrochenkov
commented
Apr 18, 2019
This comment has been minimized.
This comment has been minimized.
petrochenkov
commented
Apr 18, 2019
Could you revert the changes to r=me after that |
estebank
commented
Apr 18, 2019
@petrochenkov is it ok if I leave the reformatting of signatures to the current style? |
petrochenkov
commented
Apr 18, 2019
Rustfmt is going to do that anyway, but yeah, it's probably ok to leave them. |
estebank
commented
Apr 18, 2019
@bors r=petrochenkov |
bors
commented
Apr 18, 2019
📌 Commit 94e5ec1 has been approved by |
Suggest appropriate path when calling associated item on bare types When looking at the documentation for `std::f32` or `std::str`, for example, it is easy to get confused and assume `std::f32` and `f32` are the same thing. Because of this, it is not uncommon to attempt writing `f32::consts::PI` instead of the correct `std::f32::consts::PI`. When encountering the former, which results in an access error due to it being an inexistent path, try to access the same path under `std`. If this succeeds, this information is stored for later tweaking of the final E0599 to provide an appropriate suggestion. Fixrust-lang#26760, fixrust-lang#46660.
Suggest appropriate path when calling associated item on bare types When looking at the documentation for `std::f32` or `std::str`, for example, it is easy to get confused and assume `std::f32` and `f32` are the same thing. Because of this, it is not uncommon to attempt writing `f32::consts::PI` instead of the correct `std::f32::consts::PI`. When encountering the former, which results in an access error due to it being an inexistent path, try to access the same path under `std`. If this succeeds, this information is stored for later tweaking of the final E0599 to provide an appropriate suggestion. Fixrust-lang#26760, fixrust-lang#46660.
Centril
commented
Apr 19, 2019
Failed in #60100 (comment), @bors r- |
When looking at the documentation for `std::f32` or `std::str`, for example, it is easy to get confused and assume `std::f32` and `f32` are the same thing. Because of this, it is not uncommon to attempt writing `f32::consts::PI` instead of the correct `std::f32::consts::PI`. When encountering the former, which results in an access error due to it being an inexistent path, try to access the same path under `std`. If this succeeds, this information is stored for later tweaking of the final E0599 to provide an appropriate suggestion. This suggestion applies to both E0233 and E0599 and is only checked when the first ident of a path corresponds to a primitive type.
estebank
commented
Apr 19, 2019
@bors r=petrochenkov rebased |
bors
commented
Apr 19, 2019
📌 Commit 6aa4c99 has been approved by |
Suggest appropriate path when calling associated item on bare types When looking at the documentation for `std::f32` or `std::str`, for example, it is easy to get confused and assume `std::f32` and `f32` are the same thing. Because of this, it is not uncommon to attempt writing `f32::consts::PI` instead of the correct `std::f32::consts::PI`. When encountering the former, which results in an access error due to it being an inexistent path, try to access the same path under `std`. If this succeeds, this information is stored for later tweaking of the final E0599 to provide an appropriate suggestion. Fixrust-lang#26760, fixrust-lang#46660.
Rollup of 16 pull requests Successful merges: - #59915 (Implement event filtering for self-profiler.) - #59933 (Make clear that format padding doesn't work for Debug) - #60023 (implement specialized nth_back() for Bytes, Fuse and Enumerate) - #60032 (Remove unwanted z-index change) - #60041 (Simplify the returning of a Result a bit) - #60045 (Suggest appropriate path when calling associated item on bare types) - #60052 (Correct unused parameter diagnostic) - #60056 (Update rustfmt to 1.2.1) - #60060 (whitelist RTM x86 target cpu feature) - #60061 (Change suggestion of field when not in self context) - #60064 (Point at try `?` on errors affecting the err match arm of the desugared code) - #60078 (Use more realistic example for thread builder) - #60080 (Fix small errors in docs for `rchunks_exact` and `rchunks_exact_mut`.) - #60082 (Update miri) - #60097 (Use -mergefunc-use-aliases for any LLVM >= 8) - #60098 (libcore: deny `elided_lifetimes_in_paths`) Failed merges: r? @ghost
When looking at the documentation for
std::f32orstd::str, forexample, it is easy to get confused and assume
std::f32andf32are the same thing. Because of this, it is not uncommon to attempt
writing
f32::consts::PIinstead of the correctstd::f32::consts::PI. When encountering the former, which resultsin an access error due to it being an inexistent path, try to access
the same path under
std. If this succeeds, this information isstored for later tweaking of the final E0599 to provide an
appropriate suggestion.
Fix#26760, fix#46660.