about summary refs log tree commit diff
path: root/src/libstd/sys/unix/process/process_unix.rs
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2020-07-06 17:45:34 -0700
committerGitHub <noreply@github.com>2020-07-06 17:45:34 -0700
commitecc6f5683b6c2ad1e92b58011c828cb604e0b5ac (patch)
treee7fe5017a53cbb2fa9f99c53a7e1082fafe2571d /src/libstd/sys/unix/process/process_unix.rs
parent86f8c5350f172efd5fb98d83c4fb51900fd4abe6 (diff)
parente46c18768e3c0f046942b907d32b3c02c100b163 (diff)
downloadrust-ecc6f5683b6c2ad1e92b58011c828cb604e0b5ac.tar.gz
rust-ecc6f5683b6c2ad1e92b58011c828cb604e0b5ac.zip
Rollup merge of #74078 - jyn514:lut, r=Manishearth
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.

Closes https://github.com/rust-lang/rust/issues/74063

r? @Manishearth
Diffstat (limited to 'src/libstd/sys/unix/process/process_unix.rs')
0 files changed, 0 insertions, 0 deletions