diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-09-01 21:37:20 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-01 21:37:20 +0200 |
| commit | 8f8a5d2723f061aa863d2897c2b6cecae2b0ceba (patch) | |
| tree | 1a8bd41b8e0eb912e8eb57a764fbcf055ee03c70 /src/test/rustdoc | |
| parent | e9df5ddda26702e8c2ce21558a9a332153362931 (diff) | |
| parent | 68d0094305b4bebb96ef9d4c111fca256c1b0b4f (diff) | |
| download | rust-8f8a5d2723f061aa863d2897c2b6cecae2b0ceba.tar.gz rust-8f8a5d2723f061aa863d2897c2b6cecae2b0ceba.zip | |
Rollup merge of #101279 - GuillaumeGomez:doc_auto_cfg_nested_impl, r=notriddle
Fix doc_auto_cfg for impl blocks in different modules with different `cfg` Fixes #101129. Just like reexports, impl blocks don't necessarily share the same "space" as the item they implement so we need to merge attributes from its parents as well. r? `@notriddle`
Diffstat (limited to 'src/test/rustdoc')
| -rw-r--r-- | src/test/rustdoc/doc_auto_cfg_nested_impl.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/rustdoc/doc_auto_cfg_nested_impl.rs b/src/test/rustdoc/doc_auto_cfg_nested_impl.rs new file mode 100644 index 00000000000..4d73e0d829a --- /dev/null +++ b/src/test/rustdoc/doc_auto_cfg_nested_impl.rs @@ -0,0 +1,24 @@ +// Regression test for <https://github.com/rust-lang/rust/issues/101129>. + +#![feature(doc_auto_cfg)] +#![crate_type = "lib"] +#![crate_name = "foo"] + +pub struct S; +pub trait MyTrait1 {} +pub trait MyTrait2 {} + +// @has foo/struct.S.html +// @has - '//*[@id="impl-MyTrait1-for-S"]//*[@class="stab portability"]' \ +// 'Available on non-crate feature coolstuff only.' +#[cfg(not(feature = "coolstuff"))] +impl MyTrait1 for S {} + +#[cfg(not(feature = "coolstuff"))] +mod submod { + use crate::{S, MyTrait2}; + // This impl should also have the `not(feature = "coolstuff")`. + // @has - '//*[@id="impl-MyTrait2-for-S"]//*[@class="stab portability"]' \ + // 'Available on non-crate feature coolstuff only.' + impl MyTrait2 for S {} +} |
