summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc-js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
commit9835e2ae736235810b4ea1c162ca5e65c547e770 (patch)
tree3fcebf40ed70e581d776a8a4c65923e8ec20e026 /tests/rustdoc-js
parentReleasing progress-linux version 1.70.0+dfsg2-1~progress7.99u1. (diff)
downloadrustc-9835e2ae736235810b4ea1c162ca5e65c547e770.tar.xz
rustc-9835e2ae736235810b4ea1c162ca5e65c547e770.zip
Merging upstream version 1.71.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/rustdoc-js')
-rw-r--r--tests/rustdoc-js/generics-trait.js27
-rw-r--r--tests/rustdoc-js/slice-array.js65
-rw-r--r--tests/rustdoc-js/slice-array.rs16
3 files changed, 108 insertions, 0 deletions
diff --git a/tests/rustdoc-js/generics-trait.js b/tests/rustdoc-js/generics-trait.js
index 787662243..0e8475160 100644
--- a/tests/rustdoc-js/generics-trait.js
+++ b/tests/rustdoc-js/generics-trait.js
@@ -1,9 +1,21 @@
+// exact-check
+
const QUERY = [
'Result<SomeTrait>',
+ 'Result<SomeTraiz>',
+ 'OtherThingxxxxxxxx',
+ 'OtherThingxxxxxxxy',
+];
+
+const CORRECTIONS = [
+ null,
+ null,
+ null,
'OtherThingxxxxxxxx',
];
const EXPECTED = [
+ // Result<SomeTrait>
{
'in_args': [
{ 'path': 'generics_trait', 'name': 'beta' },
@@ -12,6 +24,21 @@ const EXPECTED = [
{ 'path': 'generics_trait', 'name': 'bet' },
],
},
+ // Result<SomeTraiz>
+ {
+ 'in_args': [],
+ 'returned': [],
+ },
+ // OtherThingxxxxxxxx
+ {
+ 'in_args': [
+ { 'path': 'generics_trait', 'name': 'alpha' },
+ ],
+ 'returned': [
+ { 'path': 'generics_trait', 'name': 'alef' },
+ ],
+ },
+ // OtherThingxxxxxxxy
{
'in_args': [
{ 'path': 'generics_trait', 'name': 'alpha' },
diff --git a/tests/rustdoc-js/slice-array.js b/tests/rustdoc-js/slice-array.js
new file mode 100644
index 000000000..8c21e06dc
--- /dev/null
+++ b/tests/rustdoc-js/slice-array.js
@@ -0,0 +1,65 @@
+// exact-check
+
+const QUERY = [
+ 'R<primitive:slice<P>>',
+ 'primitive:slice<R<P>>',
+ 'R<primitive:slice<Q>>',
+ 'primitive:slice<R<Q>>',
+ 'R<primitive:array<Q>>',
+ 'primitive:array<R<Q>>',
+ 'primitive:array<TraitCat>',
+ 'primitive:array<TraitDog>',
+];
+
+const EXPECTED = [
+ {
+ // R<primitive:slice<P>>
+ 'returned': [],
+ 'in_args': [
+ { 'path': 'slice_array', 'name': 'alpha' },
+ ],
+ },
+ {
+ // primitive:slice<R<P>>
+ 'returned': [
+ { 'path': 'slice_array', 'name': 'alef' },
+ ],
+ 'in_args': [],
+ },
+ {
+ // R<primitive:slice<Q>>
+ 'returned': [],
+ 'in_args': [],
+ },
+ {
+ // primitive:slice<R<Q>>
+ 'returned': [],
+ 'in_args': [],
+ },
+ {
+ // R<primitive:array<Q>>
+ 'returned': [
+ { 'path': 'slice_array', 'name': 'bet' },
+ ],
+ 'in_args': [],
+ },
+ {
+ // primitive:array<R<Q>>
+ 'returned': [],
+ 'in_args': [
+ { 'path': 'slice_array', 'name': 'beta' },
+ ],
+ },
+ {
+ // primitive::array<TraitCat>
+ 'in_args': [
+ { 'path': 'slice_array', 'name': 'gamma' },
+ ],
+ },
+ {
+ // primitive::array<TraitDog>
+ 'in_args': [
+ { 'path': 'slice_array', 'name': 'gamma' },
+ ],
+ },
+];
diff --git a/tests/rustdoc-js/slice-array.rs b/tests/rustdoc-js/slice-array.rs
new file mode 100644
index 000000000..2523b21cf
--- /dev/null
+++ b/tests/rustdoc-js/slice-array.rs
@@ -0,0 +1,16 @@
+pub struct P;
+pub struct Q;
+pub struct R<T>(T);
+
+// returns test
+pub fn alef() -> &'static [R<P>] { loop {} }
+pub fn bet() -> R<[Q; 32]> { loop {} }
+
+// in_args test
+pub fn alpha(_x: R<&'static [P]>) { loop {} }
+pub fn beta(_x: [R<Q>; 32]) { loop {} }
+
+pub trait TraitCat {}
+pub trait TraitDog {}
+
+pub fn gamma<T: TraitCat + TraitDog>(t: [T; 32]) {}