diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2022-11-26 17:47:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-26 17:47:25 +0100 |
| commit | c4f8546fbc0eda7f861c04ecb57298fd679f2096 (patch) | |
| tree | 4732ea9a7457c31de42df3822df3a0a39db8398f /src/test | |
| parent | 4019c8aaf7e6cf5baa6805b1b9b0ae9b2ddb0883 (diff) | |
| parent | b1cdb05003c7babbeb2fed779c5ce8619fa91792 (diff) | |
| download | rust-c4f8546fbc0eda7f861c04ecb57298fd679f2096.tar.gz rust-c4f8546fbc0eda7f861c04ecb57298fd679f2096.zip | |
Rollup merge of #104924 - aDotInTheVoid:jsondocck-trait-alias, r=GuillaumeGomez
jsondoclint: Accept trait alias is places where trait expected. More work to make `jsondoclint` work for `core.json` Closes #104923 r? `@GuillaumeGomez` `@rustbot` modify labels: +A-testsuite
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/rustdoc-json/traits/trait_alias.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/rustdoc-json/traits/trait_alias.rs b/src/test/rustdoc-json/traits/trait_alias.rs new file mode 100644 index 00000000000..35db9296cdd --- /dev/null +++ b/src/test/rustdoc-json/traits/trait_alias.rs @@ -0,0 +1,30 @@ +// Regression test for <https://github.com/rust-lang/rust/issues/104923> +// ignore-tidy-linelength + +#![feature(trait_alias)] + +// @set Orig = "$.index[*][?(@.name == 'Orig')].id" +// @is "$.index[*][?(@.name == 'Orig')].kind" '"trait"' +pub trait Orig<T> {} + +// @set Alias = "$.index[*][?(@.name == 'Alias')].id" +// @is "$.index[*][?(@.name == 'Alias')].kind" '"trait_alias"' +// @is "$.index[*][?(@.name == 'Alias')].inner.generics" '{"params": [], "where_predicates": []}' +// @count "$.index[*][?(@.name == 'Alias')].inner.params[*]" 1 +// @is "$.index[*][?(@.name == 'Alias')].inner.params[0].trait_bound.trait.id" $Orig +// @is "$.index[*][?(@.name == 'Alias')].inner.params[0].trait_bound.trait.args.angle_bracketed.args[0].type.inner" '"i32"' +pub trait Alias = Orig<i32>; + +pub struct Struct; + +impl Orig<i32> for Struct {} + +// @is "$.index[*][?(@.name=='takes_alias')].inner.decl.inputs[0][1].kind" '"impl_trait"' +// @is "$.index[*][?(@.name=='takes_alias')].inner.decl.inputs[0][1].inner[0].trait_bound.trait.id" $Alias +// @is "$.index[*][?(@.name=='takes_alias')].inner.generics.params[0].kind.type.bounds[0].trait_bound.trait.id" $Alias +pub fn takes_alias(_: impl Alias) {} +// FIXME: Should the trait be mentioned in both the decl and generics? + +fn main() { + takes_alias(Struct); +} |
