summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc/issue-115295-macro-const-display.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rustdoc/issue-115295-macro-const-display.rs')
-rw-r--r--tests/rustdoc/issue-115295-macro-const-display.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/rustdoc/issue-115295-macro-const-display.rs b/tests/rustdoc/issue-115295-macro-const-display.rs
new file mode 100644
index 000000000..2916c7a84
--- /dev/null
+++ b/tests/rustdoc/issue-115295-macro-const-display.rs
@@ -0,0 +1,40 @@
+#![crate_name = "foo"]
+
+// @has foo/trait.Trait.html
+pub trait Trait<T> {}
+
+// @has foo/struct.WithConst.html
+pub struct WithConst<const N: usize>;
+
+macro_rules! spans_from_macro {
+ () => {
+ impl WithConst<42> {
+ pub fn new() -> Self {
+ Self
+ }
+ }
+ impl Trait<WithConst<42>> for WithConst<42> {}
+ impl Trait<WithConst<43>> for WithConst<{ 43 }> {}
+ impl Trait<WithConst<{ 44 }>> for WithConst<44> {}
+ pub struct Other {
+ pub field: WithConst<42>,
+ }
+ };
+}
+
+// @has - '//*[@class="impl"]//h3[@class="code-header"]' \
+// "impl Trait<WithConst<41>> for WithConst<41>"
+impl Trait<WithConst<41>> for WithConst<41> {}
+
+// @has - '//*[@class="impl"]//h3[@class="code-header"]' \
+// "impl WithConst<42>"
+// @has - '//*[@class="impl"]//h3[@class="code-header"]' \
+// "impl Trait<WithConst<42>> for WithConst<42>"
+// @has - '//*[@class="impl"]//h3[@class="code-header"]' \
+// "impl Trait<WithConst<43>> for WithConst<{ 43 }>"
+// @has - '//*[@class="impl"]//h3[@class="code-header"]' \
+// "impl Trait<WithConst<44>> for WithConst<44>"
+
+// @has foo/struct.Other.html
+// @has - //pre "pub field: WithConst<42>"
+spans_from_macro!();