about summary refs log tree commit diff
path: root/src/test/rustdoc/duplicate_impls
AgeCommit message (Collapse)AuthorLines
2023-01-11Move /src/test to /testsAlbert Larsan-26/+0
2022-09-25rustdoc: update test cases now that code-header is used without in-bandMichael Howell-3/+3
2022-03-08Update GUI tests for impl blocks path changesGuillaume Gomez-0/+2
2022-03-08Unify inherent impl blocks by wrapping them into a divGuillaume Gomez-1/+1
2021-12-02Rename ID "main" into "main-content"Guillaume Gomez-1/+1
2021-07-25Rustdoc accessibility: use real headers for doc itemsbors-3/+3
Part of #87059 Partially reverts #84703 Preview at: https://notriddle.com/notriddle-rustdoc-test/real-headers/std/index.html
2021-06-02Update rustdoc testsGuillaume Gomez-2/+2
2021-04-19rustdoc: use details tag for trait implementorsJacob Hoffman-Andrews-2/+2
This switches from JS-generated toggles to using the HTML <details> tag for expanding and collapsing entries in the "Implementors" section.
2020-05-05Update testsGuillaume Gomez-1/+1
2018-12-25Remove licensesMark Rousskov-20/+0
2018-02-18Generate documentation for auto-trait implsAaron Hill-1/+2
A new section is added to both both struct and trait doc pages. On struct/enum pages, a new 'Auto Trait Implementations' section displays any synthetic implementations for auto traits. Currently, this is only done for Send and Sync. On trait pages, a new 'Auto Implementors' section displays all types which automatically implement the trait. Effectively, this is a list of all public types in the standard library. Synthesized impls for a particular auto trait ('synthetic impls') take into account generic bounds. For example, a type 'struct Foo<T>(T)' will have 'impl<T> Send for Foo<T> where T: Send' generated for it. Manual implementations of auto traits are also taken into account. If we have the following types: 'struct Foo<T>(T)' 'struct Wrapper<T>(Foo<T>)' 'unsafe impl<T> Send for Wrapper<T>' // pretend that Wrapper<T> makes this sound somehow Then Wrapper will have the following impl generated: 'impl<T> Send for Wrapper<T>' reflecting the fact that 'T: Send' need not hold for 'Wrapper<T>: Send' to hold Lifetimes, HRTBS, and projections (e.g. '<T as Iterator>::Item') are taken into account by synthetic impls However, if a type can *never* implement a particular auto trait (e.g. 'struct MyStruct<T>(*const T)'), then a negative impl will be generated (in this case, 'impl<T> !Send for MyStruct<T>') All of this means that a user should be able to copy-paste a synthetic impl into their code, without any observable changes in behavior (assuming the rest of the program remains unchanged).
2016-04-22Only record the same impl oncemitaa-0/+43
Due to inlining it is possible to visit the same module multiple times during `<Cache as DocFolder>::fold_crate`, so we keep track of the modules we've already visited.