From 6bd2ecba726f06587d7d60ffca5605841ac39091 Mon Sep 17 00:00:00 2001 From: Deadbeef Date: Mon, 16 Aug 2021 15:55:35 +0000 Subject: [PATCH] Add ui test --- .../std-impl-gate.rs | 21 +++++++++++++++++++ .../std-impl-gate.stock.stderr | 9 ++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/test/ui/rfc-2632-const-trait-impl/std-impl-gate.rs create mode 100644 src/test/ui/rfc-2632-const-trait-impl/std-impl-gate.stock.stderr diff --git a/src/test/ui/rfc-2632-const-trait-impl/std-impl-gate.rs b/src/test/ui/rfc-2632-const-trait-impl/std-impl-gate.rs new file mode 100644 index 0000000000000..c6975da7121f9 --- /dev/null +++ b/src/test/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 { + Default::default() +} + +const fn const_context() -> Vec { + Default::default() + //[stock]~^ ERROR calls in constant functions are limited +} + +fn main() { + const VAL: Vec = const_context(); + + assert_eq!(VAL, non_const_context()); +} diff --git a/src/test/ui/rfc-2632-const-trait-impl/std-impl-gate.stock.stderr b/src/test/ui/rfc-2632-const-trait-impl/std-impl-gate.stock.stderr new file mode 100644 index 0000000000000..55a0daaaec7bd --- /dev/null +++ b/src/test/ui/rfc-2632-const-trait-impl/std-impl-gate.stock.stderr @@ -0,0 +1,9 @@ +error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants + --> $DIR/std-impl-gate.rs:13:5 + | +LL | Default::default() + | ^^^^^^^^^^^^^^^^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0015`.