about summary refs log tree commit diff
path: root/src/test/rustdoc/intra-link-prim-precedence.rs
AgeCommit message (Collapse)AuthorLines
2020-11-28Move `src/test/rustdoc` intra-doc link tests into a subdirectoryJoshua Nelson-17/+0
They were starting to get unwieldy.
2020-08-23Update primitive test to match the new behaviorJoshua Nelson-8/+8
2020-08-09Give precedence to primitives over modulesJoshua Nelson-1/+6
This has less surprising behavior when there is a module with the same name as a primitive in scope.
2020-07-30intra_doc_resolution_failures -> broken_intra_doc_linksManish Goregaokar-1/+1
2020-07-30Rename to intra_doc_resolution_failuresManish Goregaokar-1/+1
2020-07-29Rename usage of intra_doc_link_resolution_failureManish Goregaokar-1/+1
2020-07-16Fix invalid lintJoshua Nelson-1/+1
intra_doc_resolution_failure is not a lint.
2020-07-05Always resolve type@primitive as a primitive, not a moduleJoshua Nelson-0/+12
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.