summaryrefslogtreecommitdiffstats
path: root/src/test/ui/symbol-names/const-generics-demangling.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/symbol-names/const-generics-demangling.rs')
-rw-r--r--src/test/ui/symbol-names/const-generics-demangling.rs62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/test/ui/symbol-names/const-generics-demangling.rs b/src/test/ui/symbol-names/const-generics-demangling.rs
new file mode 100644
index 000000000..4a04eca67
--- /dev/null
+++ b/src/test/ui/symbol-names/const-generics-demangling.rs
@@ -0,0 +1,62 @@
+// build-fail
+// revisions: legacy v0
+// compile-flags: --crate-name=c
+//[legacy]compile-flags: -C symbol-mangling-version=legacy -Z unstable-options
+// [v0]compile-flags: -C symbol-mangling-version=v0
+//[legacy]normalize-stderr-test: "h[[:xdigit:]]{16}" -> "h[HASH]"
+// [v0]normalize-stderr-test: "c\[.*?\]" -> "c[HASH]"
+#![feature(rustc_attrs)]
+
+pub struct Unsigned<const F: u8>;
+
+impl Unsigned<11> {
+ #[rustc_symbol_name]
+ //[v0]~^ ERROR symbol-name(_RNvMCs
+ //[v0]~| ERROR demangling(<c[
+ //[v0]~| ERROR demangling-alt(<c::Unsigned<11>>::f)
+ //[legacy]~^^^^ ERROR symbol-name(_ZN1c21Unsigned$LT$11_u8$GT$
+ //[legacy]~| ERROR demangling(c::Unsigned<11_u8>::f::
+ //[legacy]~| ERROR demangling-alt(c::Unsigned<11_u8>::f)
+ fn f() {}
+}
+
+pub struct Signed<const F: i16>;
+
+impl Signed<-152> {
+ #[rustc_symbol_name]
+ //[v0]~^ ERROR symbol-name(_RNvMs_Cs
+ //[v0]~| ERROR demangling(<c[
+ //[v0]~| ERROR demangling-alt(<c::Signed<-152>>::f)
+ //[legacy]~^^^^ ERROR symbol-name(_ZN1c22Signed$LT$.152_i16$GT$
+ //[legacy]~| ERROR demangling(c::Signed<.152_i16>::f::
+ //[legacy]~| ERROR demangling-alt(c::Signed<.152_i16>::f)
+ fn f() {}
+}
+
+pub struct Bool<const F: bool>;
+
+impl Bool<true> {
+ #[rustc_symbol_name]
+ //[v0]~^ ERROR symbol-name(_RNvMs0_Cs
+ //[v0]~| ERROR demangling(<c[
+ //[v0]~| ERROR demangling-alt(<c::Bool<true>>::f)
+ //[legacy]~^^^^ ERROR symbol-name(_ZN1c13Bool$LT$_$GT$
+ //[legacy]~| ERROR demangling(c::Bool<_>::f::
+ //[legacy]~| ERROR demangling-alt(c::Bool<_>::f)
+ fn f() {}
+}
+
+pub struct Char<const F: char>;
+
+impl Char<'∂'> {
+ #[rustc_symbol_name]
+ //[v0]~^ ERROR symbol-name(_RNvMs1_Cs
+ //[v0]~| ERROR demangling(<c[
+ //[v0]~| ERROR demangling-alt(<c::Char<'∂'>>::f)
+ //[legacy]~^^^^ ERROR symbol-name(_ZN1c13Char$LT$_$GT$
+ //[legacy]~| ERROR demangling(c::Char<_>::f::
+ //[legacy]~| ERROR demangling-alt(c::Char<_>::f)
+ fn f() {}
+}
+
+fn main() {}