about summary refs log tree commit diff
path: root/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/rfc-2632-const-trait-impl/std-impl-gate.rs')
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/std-impl-gate.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.rs b/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.rs
new file mode 100644
index 00000000000..2f54c09e31c
--- /dev/null
+++ b/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.rs
@@ -0,0 +1,21 @@
+// This tests feature gates for const impls in the standard library.
+
+// revisions: stock gated
+//[gated] run-pass
+
+#![cfg_attr(gated, feature(const_trait_impl, const_default_impls))]
+
+fn non_const_context() -> Vec<usize> {
+    Default::default()
+}
+
+const fn const_context() -> Vec<usize> {
+    Default::default()
+    //[stock]~^ ERROR cannot call non-const fn
+}
+
+fn main() {
+    const VAL: Vec<usize> = const_context();
+
+    assert_eq!(VAL, non_const_context());
+}