about summary refs log tree commit diff
path: root/src/libstd/sys/unix/process/process_unix.rs
diff options
context:
space:
mode:
authorJoshua Nelson <jyn514@gmail.com>2020-07-05 21:20:31 -0400
committerJoshua Nelson <jyn514@gmail.com>2020-07-05 21:40:02 -0400
commite46c18768e3c0f046942b907d32b3c02c100b163 (patch)
treec94021760b3e8a5539233c589f7b806250479aa6 /src/libstd/sys/unix/process/process_unix.rs
parentf844ea1e561475e6023282ef167e76bc973773ef (diff)
downloadrust-e46c18768e3c0f046942b907d32b3c02c100b163.tar.gz
rust-e46c18768e3c0f046942b907d32b3c02c100b163.zip
Always resolve type@primitive as a primitive, not a module
Previously, if there were a module in scope with the same name as the
primitive, that would take precedence. Coupled with
https://github.com/rust-lang/rust/issues/58699, this made it impossible
to link to the primitive when that module was in scope.

This approach could be extended so that `struct@foo` would no longer resolve
to any type, etc. However, it could not be used for glob imports:

```rust
pub mod foo {
  pub struct Bar;
}

pub enum Bar {}
use foo::*;

// This is expected to link to `inner::Bar`, but instead it will link to the enum.
/// Link to [struct@Bar]
pub struct MyDocs;
```

The reason for this is that this change does not affect the resolution
algorithm of rustc_resolve at all. The only reason we could special-case
primitives is because we have a list of all possible primitives ahead of time.
Diffstat (limited to 'src/libstd/sys/unix/process/process_unix.rs')
0 files changed, 0 insertions, 0 deletions