rust/src/test/rustdoc
Jack Huey 3c99dcd82d
Rollup merge of #83366 - jyn514:stabilize-key-value-attrs, r=petrochenkov
Stabilize extended_key_value_attributes

Closes https://github.com/rust-lang/rust/issues/44732. Closes https://github.com/rust-lang/rust/issues/78835. Closes https://github.com/rust-lang/rust/issues/82768 (by making it irrelevant).

 # Stabilization report

 ## Summary

This stabilizes using macro expansion in key-value attributes, like so:

 ```rust
 #[doc = include_str!("my_doc.md")]
 struct S;

 #[path = concat!(env!("OUT_DIR"), "/generated.rs")]
 mod m;
 ```

See Petrochenkov's excellent blog post [on internals](https://internals.rust-lang.org/t/macro-expansion-points-in-attributes/11455)
for alternatives that were considered and rejected ("why accept no more and no less?")

This has been available on nightly since 1.50 with no major issues.

## Notes

### Accepted syntax

The parser accepts arbitrary Rust expressions in this position, but any expression other than a macro invocation will ultimately lead to an error because it is not expected by the built-in expression forms (e.g., `#[doc]`).  Note that decorators and the like may be able to observe other expression forms.

### Expansion ordering

Expansion of macro expressions in "inert" attributes occurs after decorators have executed, analogously to macro expressions appearing in the function body or other parts of decorator input.

There is currently no way for decorators to accept macros in key-value position if macro expansion must be performed before the decorator executes (if the macro can simply be copied into the output for later expansion, that can work).

## Test cases

 - https://github.com/rust-lang/rust/blob/master/src/test/ui/attributes/key-value-expansion-on-mac.rs
 - https://github.com/rust-lang/rust/blob/master/src/test/rustdoc/external-doc.rs

The feature has also been dogfooded extensively in the compiler and
standard library:

- https://github.com/rust-lang/rust/pull/83329
- https://github.com/rust-lang/rust/pull/83230
- https://github.com/rust-lang/rust/pull/82641
- https://github.com/rust-lang/rust/pull/80534

## Implementation history

- Initial proposal: https://github.com/rust-lang/rust/issues/55414#issuecomment-554005412
- Experiment to see how much code it would break: https://github.com/rust-lang/rust/pull/67121
- Preliminary work to restrict expansion that would conflict with this
feature: https://github.com/rust-lang/rust/pull/77271
- Initial implementation: https://github.com/rust-lang/rust/pull/78837
- Fix for an ICE: https://github.com/rust-lang/rust/pull/80563

## Unresolved Questions

~~https://github.com/rust-lang/rust/pull/83366#issuecomment-805180738 listed some concerns, but they have been resolved as of this final report.~~

 ## Additional Information

 There are two workarounds that have a similar effect for `#[doc]`
attributes on nightly. One is to emulate this behavior by using a limited version of this feature that was stabilized for historical reasons:

```rust
macro_rules! forward_inner_docs {
    ($e:expr => $i:item) => {
        #[doc = $e]
        $i
    };
}

forward_inner_docs!(include_str!("lib.rs") => struct S {});
```

This also works for other attributes (like `#[path = concat!(...)]`).
The other is to use `doc(include)`:

```rust
 #![feature(external_doc)]
 #[doc(include = "lib.rs")]
 struct S {}
```

The first works, but is non-trivial for people to discover, and
difficult to read and maintain. The second is a strange special-case for
a particular use of the macro. This generalizes it to work for any use
case, not just including files.

I plan to remove `doc(include)` when this is stabilized
(https://github.com/rust-lang/rust/pull/82539). The `forward_inner_docs`
workaround will still compile without warnings, but I expect it to be
used less once it's no longer necessary.
2021-05-18 22:35:54 -04:00
..
auxiliary Rollup merge of #84832 - Stupremee:dont-print-vis-in-external-traits, r=jyn514 2021-05-03 00:32:45 +02:00
const-generics rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
duplicate_impls rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
inline_cross Update tests 2021-05-02 14:17:07 +02:00
inline_local Update tests for extern block linting 2021-01-13 07:49:16 -05:00
intra-doc rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
intra-doc-crate rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
primitive Remove licenses 2018-12-25 21:08:33 -07:00
src-links Remove licenses 2018-12-25 21:08:33 -07:00
synthetic_auto rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
test_option_check Remove licenses 2018-12-25 21:08:33 -07:00
all.rs Remove licenses 2018-12-25 21:08:33 -07:00
asm-foreign.rs Address review comments 2021-03-14 23:21:03 +00:00
asm-foreign2.rs Address review comments 2021-03-14 23:21:03 +00:00
assoc-consts-version.rs use span instead of div for since version 2019-05-03 12:55:31 -04:00
assoc-consts.rs Update tests 2021-05-02 14:17:07 +02:00
assoc-item-cast.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
assoc-types.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
async-fn.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
async-move-doctest.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
attributes.rs Update attribute tests 2021-04-12 23:03:17 -07:00
auto-impl-for-trait.rs Remove licenses 2018-12-25 21:08:33 -07:00
auto-impl-primitive.rs Remove licenses 2018-12-25 21:08:33 -07:00
auto-traits.rs Rename optin_builtin_traits to auto_traits 2020-11-23 14:14:06 -08:00
auto_aliases.rs rustdoc: update auto_aliases test case with data-aliases attribute 2021-04-28 10:29:08 -07:00
bad-codeblock-syntax.rs Remove dependency on StringReader from rustdoc highlighter 2020-08-27 17:43:15 +02:00
blanket-reexport-item.rs rustdoc: remove def_ctor hack. 2019-04-30 12:55:38 +03:00
cap-lints.rs Remove licenses 2018-12-25 21:08:33 -07:00
cfg-doctest.rs stabilize cfg(doctest) 2019-10-29 13:42:55 +01:00
check-styled-link.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
check.rs Add tests for rustdoc --check option 2020-11-12 14:58:07 +01:00
codeblock-title.rs Update HTML DOM attribute "edition" to "data-edition" 2020-12-23 20:27:12 +01:00
comment-in-doctest.rs Make it build again 2020-02-29 20:47:10 +03:00
const-display.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
const-doc.rs Remove licenses 2018-12-25 21:08:33 -07:00
const-evalutation-ice.rs Remove licenses 2018-12-25 21:08:33 -07:00
const-fn.rs Remove licenses 2018-12-25 21:08:33 -07:00
const-underscore.rs Omit underscore constants from rustdoc 2020-01-04 12:35:23 -08:00
const.rs Update rustdoc tests 2020-07-02 13:19:04 +02:00
constructor-imports.rs Remove licenses 2018-12-25 21:08:33 -07:00
crate-version-escape.rs rustdoc: HTML escape crate version 2020-03-01 00:15:44 +00:00
crate-version.rs Stabilize --crate-version option in rustdoc 2020-02-26 22:08:59 +01:00
cross-crate-links.rs Remove licenses 2018-12-25 21:08:33 -07:00
cross-crate-primitive-doc.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
decl_macro.rs rustdoc: clean up and test macro visibility print 2021-04-10 14:22:06 -07:00
decl_macro_priv.rs Prefer pub(crate) over no modifier 2020-12-25 16:20:08 -08:00
deep-structures.rs Raise the default recursion limit to 128 2019-07-07 00:12:35 +03:00
default-impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
default-trait-method-link.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
default-trait-method.rs rustdoc: Remove default keyword from re-exported trait methods 2019-04-14 23:55:14 +01:00
deprecated-future.rs Clean up rustdoc tests by removing unnecessary features 2020-11-25 14:27:51 +01:00
deprecated-impls.rs Remove licenses 2018-12-25 21:08:33 -07:00
deprecated.rs Clean up rustdoc tests by removing unnecessary features 2020-11-25 14:27:51 +01:00
deref-mut-methods.rs Add test for DerefMut methods 2019-08-06 00:41:52 +02:00
deref-recursive-pathbuf.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
deref-recursive.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
deref-typedef.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
description.rs Update src/test/rustdoc/description.rs 2021-02-21 09:31:39 -07:00
description_default.rs Use has for non-regexes 2021-02-20 17:51:41 -07:00
doc-assoc-item.rs Remove licenses 2018-12-25 21:08:33 -07:00
doc-cfg-simplification.rs Simplify doc-cfg rendering based on the current context 2020-10-07 22:54:12 +02:00
doc-cfg-target-feature.rs Remove licenses 2018-12-25 21:08:33 -07:00
doc-cfg-traits.rs Add tests and improve rendering of features on traits 2020-11-14 22:11:45 +01:00
doc-cfg.rs Unify rustc and rustdoc parsing of cfg() 2021-05-03 12:49:43 -04:00
doc-notable_trait.rs Rename #[doc(spotlight)] to #[doc(notable_trait)] 2021-03-15 13:59:54 -07:00
doc-proc-macro.rs Remove licenses 2018-12-25 21:08:33 -07:00
doctest-manual-crate-name.rs force binary filename for compiled doctests 2019-01-04 09:57:17 -06:00
double-quote-escape.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
duplicate-cfg.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
edition-doctest.rs Remove licenses 2018-12-25 21:08:33 -07:00
edition-flag.rs rustdoc: Stabilize edition annotation. 2019-11-08 16:15:17 -08:00
elided-lifetime.rs Cross-crate doc inlining test case for elided lifetime 2020-08-08 01:07:43 +01:00
empty-impls.rs Add test for new DOM for empty impls 2021-04-27 15:26:43 +02:00
empty-mod-private.rs Remove unnecessary ignore-tidy-linelength 2019-04-23 11:42:14 +01:00
empty-mod-public.rs Remove licenses 2018-12-25 21:08:33 -07:00
empty-section.rs introduce negative_impls feature gate and document 2020-03-26 06:52:55 -04:00
ensure-src-link.rs Add test to prevent src link regression 2021-02-12 20:27:57 +01:00
escape-deref-methods.rs Remove licenses 2018-12-25 21:08:33 -07:00
extern-default-method.rs Remove licenses 2018-12-25 21:08:33 -07:00
extern-html-root-url.rs Remove unnecessary ignore-tidy-linelength 2019-04-23 11:42:14 +01:00
extern-impl-trait.rs Remove licenses 2018-12-25 21:08:33 -07:00
extern-impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
extern-links.rs resolve: Reduce scope of pub_use_of_private_extern_crate deprecation lint 2021-02-11 10:15:29 +03:00
extern-method.rs Remove licenses 2018-12-25 21:08:33 -07:00
external-cross.rs Remove licenses 2018-12-25 21:08:33 -07:00
external-doc.rs Stabilize extended_key_value_attributes 2021-05-18 01:01:36 -04:00
external-macro-src.rs (rustdoc) [src] link for types defined by macros shows invocation 2020-11-10 01:02:38 +01:00
ffi.rs Remove licenses 2018-12-25 21:08:33 -07:00
fn-pointer-arg-name.rs Remove licenses 2018-12-25 21:08:33 -07:00
fn-sidebar.rs Remove licenses 2018-12-25 21:08:33 -07:00
fn-type.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
for-lifetime.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
force-target-feature.rs Remove licenses 2018-12-25 21:08:33 -07:00
foreigntype-reexport.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
foreigntype.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
generic-impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
hidden-impls.rs Remove licenses 2018-12-25 21:08:33 -07:00
hidden-line.rs Remove licenses 2018-12-25 21:08:33 -07:00
hidden-methods.rs Remove licenses 2018-12-25 21:08:33 -07:00
hidden-trait-struct-impls.rs Remove licenses 2018-12-25 21:08:33 -07:00
hide-unstable-trait.rs Only skip impls of foreign unstable traits 2020-07-19 16:39:20 -04:00
impl-disambiguation.rs Remove licenses 2018-12-25 21:08:33 -07:00
impl-everywhere.rs (rustdoc) fix test for trait impl display 2020-10-25 20:47:05 +01:00
impl-parts-crosscrate.rs Use the name "auto traits" everywhere in the compiler 2020-11-24 16:25:43 -08:00
impl-parts.rs Use the name "auto traits" everywhere in the compiler 2020-11-24 16:25:43 -08:00
impl-trait-alias.rs Replace type_alias_impl_trait by min_type_alias_impl_trait with no actual changes in behaviour 2021-03-15 17:32:43 +00:00
implementor-stable-version.rs Update rustdoc test to make it work with newly added rustc passes 2021-02-28 00:48:43 +01:00
index-page.rs Use "Fira Sans" for crate list font 2020-09-01 13:41:56 -07:00
inline-default-methods.rs Remove licenses 2018-12-25 21:08:33 -07:00
internal.rs Don't render unstable for rustc docs 2020-07-15 10:53:10 +00:00
intra-link-prim-self.rs Fix intra-doc links for Self on primitives 2020-11-29 13:40:08 -05:00
intra-link-self-cache.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
invalid.crate.name.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-12834.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-13698.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-15169.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-15318-2.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
issue-15318-3.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-15318.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-15347.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-16019.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-16265-1.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-16265-2.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-17476.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-18199.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-19055.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-19181.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-19190-2.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-19190-3.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
issue-19190.rs Remove render-redirect-pages option in rustdoc 2020-07-02 14:14:59 +02:00
issue-20175.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-20646.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-20727-2.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
issue-20727-3.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-20727-4.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-20727.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-21092.rs Remove rustdoc old style files generation 2019-01-27 00:34:05 +01:00
issue-21474.rs rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
issue-21801.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-22025.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-22038.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
issue-23106.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-23207.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
issue-23511.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-23744.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-23812.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-25001.rs Update rustdoc tests 2020-07-02 13:19:04 +02:00
issue-25944.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-26606.rs (rustdoc) [src] link for types defined by macros shows invocation 2020-11-10 01:02:38 +01:00
issue-26995.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-27104.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-27362.rs rustdoc supports const re-exports 2020-04-29 11:52:02 -04:00
issue-27759.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-27862.rs tests: doc comments 2019-02-10 23:42:32 +00:00
issue-28478.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
issue-28927.rs resolve: Reduce scope of pub_use_of_private_extern_crate deprecation lint 2021-02-11 10:15:29 +03:00
issue-29449.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-29503.rs rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
issue-29584.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-30109.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-30252.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-30366.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-31808.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-31899.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-32374.rs Add test for deprecated emoji 2020-05-08 15:27:08 +02:00
issue-32395.rs Add from_def_id_and_kind reducing duplication in rustdoc 2020-11-17 15:16:03 -05:00
issue-32556.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-32890.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-33069.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-33178-1.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-33178.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-33302.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-33592.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-34025.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-34274.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-34423.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-34473.rs rustdoc: remove def_ctor hack. 2019-04-30 12:55:38 +03:00
issue-34928.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-35169-2.rs Update rustdoc tests 2020-07-02 13:19:04 +02:00
issue-35169.rs Update rustdoc tests 2020-07-02 13:19:04 +02:00
issue-35488.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-36031.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-38129.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
issue-38219.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-40936.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-41783.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-42760.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-42875.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-43153.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-43701.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-43869.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-43893.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-45584.rs rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
issue-46271.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46377.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46380-2.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46727.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46766.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46767.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46976.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-47038.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-47197-blank-line-in-doc-block.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-47639.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-48377.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-48414.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-50159.rs rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
issue-51236.rs rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
issue-52873.rs Remove mem::uninitalized from tests 2019-12-22 21:58:12 -05:00
issue-53689.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-53812.rs Update impl DOM test 2021-04-27 15:27:08 +02:00
issue-54478-demo-allocator.rs This is a regression test for #54478. 2018-10-24 12:19:47 +02:00
issue-54705.rs rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
issue-55001.rs Fix Rustdoc ICE when checking blanket impls 2018-10-22 19:40:43 -04:00
issue-55321.rs rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
issue-55364.rs Update rustdoc test 2021-05-10 00:09:57 +02:00
issue-56701.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
issue-56822.rs rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
issue-57180.rs Add regression test for issue, apply suggestion to convert to assert_eq 2019-08-28 00:21:30 -04:00
issue-60482.rs upgrade rustdoc's pulldown-cmark to 0.5.2 2019-05-29 10:59:59 -04:00
issue-60726.rs rustdoc: use details tag for trait implementors 2021-04-19 19:46:51 -07:00
issue-61592.rs Rustdoc render public underscore_imports as Re-exports 2020-12-31 09:07:51 +00:00
issue-67851-both.rs Distinguish between private items and hidden items in rustdoc 2020-01-04 11:28:53 -08:00
issue-67851-hidden.rs Distinguish between private items and hidden items in rustdoc 2020-01-04 11:28:53 -08:00
issue-67851-neither.rs Distinguish between private items and hidden items in rustdoc 2020-01-04 11:28:53 -08:00
issue-67851-private.rs Distinguish between private items and hidden items in rustdoc 2020-01-04 11:28:53 -08:00
issue-72340.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
issue-73061-cross-crate-opaque-assoc-type.rs Add more tests for type alias impl Trait 2020-06-11 16:24:01 +01:00
issue-74083.rs Fix tests that incorrectly used !@has instead of @!has 2020-12-31 12:47:09 -08:00
issue-75588.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
issue-76501.rs Clean up rustdoc tests by removing unnecessary features 2020-11-25 14:27:51 +01:00
issue-78673.rs Check predicates from blanket trait impls while testing if they apply 2020-11-02 22:25:01 +01:00
issue-79201.rs Apply doc(cfg) from parent items while collecting trait impls 2020-11-23 17:47:29 +01:00
issue-80233-normalize-auto-trait.rs Don't try to add nested predicate to Rustdoc auto-trait ParamEnv 2020-12-20 21:10:29 -05:00
item-hide-threshold.rs rustdoc: Convert sub-variant toggle to HTML 2021-04-19 09:38:22 +02:00
keyword.rs Add tests for doc_keyword feature extension 2020-11-27 17:54:28 +01:00
line-breaks.rs Remove licenses 2018-12-25 21:08:33 -07:00
link-assoc-const.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
link-title-escape.rs Remove licenses 2018-12-25 21:08:33 -07:00
macro-in-async-block.rs Add rustdoc tests from #72088 2020-07-15 10:54:05 -04:00
macro-in-closure.rs Add rustdoc tests from #72088 2020-07-15 10:54:05 -04:00
macro_pub_in_module.rs Fix ICE on pub macros defined within a non-module type namespace. 2021-01-06 15:13:39 +01:00
macros.rs Add rustdoc test. 2021-01-05 21:10:34 +01:00
manual_impl.rs Update tests 2021-05-02 14:17:07 +02:00
markdown-summaries.rs Render Markdown in search results 2020-12-03 14:11:37 -08:00
masked.rs Remove licenses 2018-12-25 21:08:33 -07:00
method-list.rs Remove unnecessary ignore-tidy-linelength 2019-04-23 11:42:14 +01:00
mod-stackoverflow.rs Remove licenses 2018-12-25 21:08:33 -07:00
module-impls.rs Remove licenses 2018-12-25 21:08:33 -07:00
must-use.rs Remove licenses 2018-12-25 21:08:33 -07:00
mut-params.rs Add regression test for #81289 2021-02-10 16:41:09 +01:00
namespaces.rs Remove licenses 2018-12-25 21:08:33 -07:00
negative-impl-sidebar.rs Update tests 2020-05-05 22:56:23 +02:00
negative-impl.rs introduce negative_impls feature gate and document 2020-03-26 06:52:55 -04:00
no-compiler-reexport.rs Add test for compiler reexports removal 2020-10-12 11:26:01 +02:00
no-crate-filter.rs Removed more copyright notices. 2019-01-13 19:47:02 +00:00
no-run-still-checks-lints.rs Remove licenses 2018-12-25 21:08:33 -07:00
no-stack-overflow-25295.rs Moved issue tests to subdirs and normalised names. 2019-03-14 01:00:49 +00:00
normalize-assoc-item.rs Add -Z normalize-docs and enable it for compiler docs 2020-11-29 17:21:24 -05:00
nul-error.rs Remove licenses 2018-12-25 21:08:33 -07:00
playground-arg.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
playground-empty.rs Remove licenses 2018-12-25 21:08:33 -07:00
playground-none.rs Remove licenses 2018-12-25 21:08:33 -07:00
playground-syntax-error.rs rustdoc: Avoid panic when parsing codeblocks for playground links 2020-01-04 18:42:06 +00:00
playground.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
primitive-generic-impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
primitive-link.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
primitive-reexport.rs rustdoc: Fix re-exporting primitive types 2020-01-26 21:32:43 +00:00
private-type-alias.rs Remove licenses 2018-12-25 21:08:33 -07:00
proc-macro.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
process-termination.rs Revert "implicit Option-returning doctests" 2019-07-01 16:41:37 +02:00
pub-extern-crate.rs add test for pub extern crate 2019-01-10 21:18:46 -05:00
pub-method.rs Remove unnecessary ignore-tidy-linelength 2019-04-23 11:42:14 +01:00
pub-use-extern-macros.rs Remove licenses 2018-12-25 21:08:33 -07:00
range-arg-pattern.rs Do not ICE on range patterns in function arguments 2021-02-10 16:41:48 +01:00
raw-ident-eliminate-r-hashtag.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
recursion1.rs Remove licenses 2018-12-25 21:08:33 -07:00
recursion2.rs Remove licenses 2018-12-25 21:08:33 -07:00
recursion3.rs Remove licenses 2018-12-25 21:08:33 -07:00
redirect-const.rs Remove licenses 2018-12-25 21:08:33 -07:00
redirect-map-empty.rs Add tests for --generate-redirect-map option 2021-02-23 11:13:35 +01:00
redirect-map.rs Add tests for --generate-redirect-map option 2021-02-23 11:13:35 +01:00
redirect-rename.rs Add more tests for renamed items 2020-11-21 10:19:02 -05:00
redirect.rs Moved issue tests to subdirs and normalised names. 2019-03-14 01:00:49 +00:00
reexport-check.rs Deprecate-in-future the constants superceded by RFC 2700 2021-01-20 20:08:11 -05:00
reexport-stability-tags-deprecated-and-portability.rs Test Deprecated, Portability, and Unstable. 2021-04-18 10:46:06 +02:00
reexport-stability-tags-unstable-and-portability.rs Test Deprecated, Portability, and Unstable. 2021-04-18 10:46:06 +02:00
remove-duplicates.rs Remove licenses 2018-12-25 21:08:33 -07:00
remove-url-from-headings.rs Fix tests that incorrectly used !@has instead of @!has 2020-12-31 12:47:09 -08:00
return-impl-trait.rs Replace type_alias_impl_trait by min_type_alias_impl_trait with no actual changes in behaviour 2021-03-15 17:32:43 +00:00
rustc-macro-crate.rs Improve Rustdoc's handling of procedural macros 2019-08-24 13:11:57 -04:00
rustc_deprecated-future.rs Allow since="TBD" for rustc_deprecated 2020-12-16 13:21:24 -05:00
sanitizer-option.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
search-index-summaries.rs Remove licenses 2018-12-25 21:08:33 -07:00
search-index.rs Remove licenses 2018-12-25 21:08:33 -07:00
short-docblock-codeblock.rs Remove licenses 2018-12-25 21:08:33 -07:00
short-dockblock.rs Remove licenses 2018-12-25 21:08:33 -07:00
show-const-contents.rs Update tests to remove old numeric constants 2020-11-29 00:55:55 -05:00
sidebar-items.rs Remove licenses 2018-12-25 21:08:33 -07:00
sidebar-link-generation.rs Remove licenses 2018-12-25 21:08:33 -07:00
sidebar-links-to-foreign-impl.rs Make "Implementations on Foreign Types" items in sidebar link to specific impls 2019-04-26 22:39:00 +03:00
sized_trait.rs Add tests for !Sized trait display 2021-02-19 22:38:07 +01:00
smart-punct.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
smoke.rs Remove licenses 2018-12-25 21:08:33 -07:00
sort-modules-by-appearance.rs Remove licenses 2018-12-25 21:08:33 -07:00
source-file.rs Remove licenses 2018-12-25 21:08:33 -07:00
spotlight-from-dependency.rs * Fix some typo 2021-02-23 21:58:17 +01:00
src-links-auto-impls.rs Add test for no src links on dummy spans 2021-02-20 19:51:38 +01:00
src-links-external.rs Remove redundant ignore-tidy-linelength annotations 2021-04-03 22:30:20 +02:00
src-links.rs Remove rustdoc old style files generation 2019-01-27 00:34:05 +01:00
stability.rs Rename "stability" CSS class to "item-info" 2020-11-24 18:07:03 +01:00
static-root-path.rs use --static-root-path for settings.js 2019-04-15 11:20:08 -05:00
static.rs fixup! Avoid extraneous space between visibility kw and ident for statics 2020-10-13 16:47:53 -05:00
struct-arg-pattern.rs Renamed test 2021-04-05 00:29:43 +01:00
struct-field.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
struct-implementations-title.rs Add test for new implementations section title 2020-05-05 22:56:23 +02:00
structfields.rs Remove render-redirect-pages option in rustdoc 2020-07-02 14:14:59 +02:00
tab_title.rs Just merge all of the <title> tests into one 2021-04-20 19:56:28 -04:00
task-lists.rs Enable 'task list' markdown extension 2021-02-06 00:08:21 -05:00
test-lists.rs Remove licenses 2018-12-25 21:08:33 -07:00
test-parens.rs Remove licenses 2018-12-25 21:08:33 -07:00
test-strikethrough.rs Add test for strikethrough in rustdoc 2020-05-08 18:14:57 +02:00
thread-local-src.rs (rustdoc) [src] link for types defined by macros shows invocation 2020-11-10 01:02:38 +01:00
titles.rs Update tests for extern block linting 2021-01-13 07:49:16 -05:00
toggle-trait-fn.rs Add test for trait toggle location 2021-05-16 12:50:15 -07:00
trait-alias-mention.rs PR feedback 2021-05-02 12:29:23 -07:00
trait-attributes.rs Update attribute tests 2021-04-12 23:03:17 -07:00
trait-impl-items-links-and-anchors.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
trait-impl.rs Update tests 2021-05-02 14:17:07 +02:00
trait-self-link.rs rustdoc: use more precise relative URLS 2021-04-17 09:21:52 -07:00
trait-src-link.rs add [src] links to methods on a trait's page 2020-11-18 22:10:10 +00:00
trait-visibility.rs Do not print visibility in external traits 2021-05-02 21:16:50 +02:00
trait_alias.rs RustDoc: Fix bounds linking trait.Foo instead of traitalias.Foo 2021-05-01 23:14:18 -07:00
traits-in-bodies-private.rs Remove licenses 2018-12-25 21:08:33 -07:00
traits-in-bodies.rs Remove licenses 2018-12-25 21:08:33 -07:00
tuples.rs Remove licenses 2018-12-25 21:08:33 -07:00
type-layout-flag-required.rs Only show type layout info if --show-type-layout is passed 2021-05-11 09:55:31 -07:00
type-layout.rs Disable layout docs for type aliases for now 2021-05-11 10:19:46 -07:00
typedef.rs Update tests 2020-05-05 22:56:23 +02:00
unindent.md Update tests 2020-10-29 11:43:21 +01:00
unindent.rs Update tests 2020-10-29 11:43:21 +01:00
union.rs Remove licenses 2018-12-25 21:08:33 -07:00
unit-return.rs Avoid sorting predicates by DefId 2021-03-13 13:45:12 -05:00
universal-impl-trait.rs Remove licenses 2018-12-25 21:08:33 -07:00
unneeded-trait-implementations-title.rs Remove licenses 2018-12-25 21:08:33 -07:00
use-attr.rs don't try to get a DefId for a Def that doesn't have one 2019-02-01 11:17:33 -06:00
useless_lifetime_bound.rs Add test from #59033 2019-04-03 22:18:41 +02:00
variadic.rs rustc: rely on c_variadic == true instead of CVarArgs in HIR/Ty fn signatures. 2019-09-28 17:39:00 +03:00
viewpath-rename.rs Remove licenses 2018-12-25 21:08:33 -07:00
viewpath-self.rs Remove licenses 2018-12-25 21:08:33 -07:00
visibility.rs rustdoc: Fix visibility of trait and impl items 2021-01-22 18:30:30 -08:00
where-sized.rs Remove licenses 2018-12-25 21:08:33 -07:00
where.rs Remove licenses 2018-12-25 21:08:33 -07:00
without-redirect.rs put back macro redirect 2019-02-09 14:29:03 +01:00
wrapping.rs respect alternate flag when formatting impl trait 2019-02-12 13:45:36 -05:00