summaryrefslogtreecommitdiffstats
path: root/src/test/ui/const-generics/slice-const-param-mismatch.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/const-generics/slice-const-param-mismatch.rs')
-rw-r--r--src/test/ui/const-generics/slice-const-param-mismatch.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/slice-const-param-mismatch.rs b/src/test/ui/const-generics/slice-const-param-mismatch.rs
new file mode 100644
index 000000000..7127323e5
--- /dev/null
+++ b/src/test/ui/const-generics/slice-const-param-mismatch.rs
@@ -0,0 +1,19 @@
+// revisions: full min
+
+#![cfg_attr(full, feature(adt_const_params))]
+#![cfg_attr(full, allow(incomplete_features))]
+
+
+struct ConstString<const T: &'static str>;
+//[min]~^ ERROR
+struct ConstBytes<const T: &'static [u8]>;
+//[min]~^ ERROR
+
+pub fn main() {
+ let _: ConstString<"Hello"> = ConstString::<"Hello">;
+ let _: ConstString<"Hello"> = ConstString::<"World">; //[full]~ ERROR mismatched types
+ let _: ConstString<"ℇ㇈↦"> = ConstString::<"ℇ㇈↦">;
+ let _: ConstString<"ℇ㇈↦"> = ConstString::<"ℇ㇈↥">; //[full]~ ERROR mismatched types
+ let _: ConstBytes<b"AAA"> = ConstBytes::<{&[0x41, 0x41, 0x41]}>;
+ let _: ConstBytes<b"AAA"> = ConstBytes::<b"BBB">; //[full]~ ERROR mismatched types
+}