about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/test/ui/consts/convert.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/consts/convert.rs b/src/test/ui/consts/convert.rs
new file mode 100644
index 00000000000..e10374070ac
--- /dev/null
+++ b/src/test/ui/consts/convert.rs
@@ -0,0 +1,20 @@
+// run-pass
+
+#![feature(const_trait_impl)]
+#![feature(const_identity_convert)]
+
+fn main() {
+    const fn from(x: i32) -> i32 {
+        i32::from(x)
+    }
+
+    const FOO: i32 = from(42);
+    assert_eq!(FOO, 42);
+
+    const fn into(x: Vec<String>) -> Vec<String> {
+        x.into()
+    }
+
+    const BAR: Vec<String> = into(Vec::new());
+    assert_eq!(BAR, Vec::<String>::new());
+}