From 8ca44069bbd8df4d88b08a0fb9fdb63895d60560 Mon Sep 17 00:00:00 2001 From: varkor Date: Thu, 14 Feb 2019 15:47:37 +0000 Subject: [PATCH] Add updated NLL tests --- .../min_const_fn/min_const_fn.nll.stderr | 134 +++++++++++++----- .../min_const_fn/min_const_fn_dyn.nll.stderr | 11 +- 2 files changed, 108 insertions(+), 37 deletions(-) diff --git a/src/test/ui/consts/min_const_fn/min_const_fn.nll.stderr b/src/test/ui/consts/min_const_fn/min_const_fn.nll.stderr index 763c69e805030..feb4960e0c746 100644 --- a/src/test/ui/consts/min_const_fn/min_const_fn.nll.stderr +++ b/src/test/ui/consts/min_const_fn/min_const_fn.nll.stderr @@ -4,11 +4,13 @@ error[E0493]: destructors cannot be evaluated at compile-time LL | const fn into_inner(self) -> T { self.0 } //~ destructors cannot be evaluated | ^^^^ constant functions cannot evaluate destructors -error: mutable references in const fn are unstable +error[E0723]: mutable references in const fn are unstable (see issue #57563) --> $DIR/min_const_fn.rs:39:36 | LL | const fn get_mut(&mut self) -> &mut T { &mut self.0 } | ^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable error[E0493]: destructors cannot be evaluated at compile-time --> $DIR/min_const_fn.rs:44:28 @@ -16,11 +18,13 @@ error[E0493]: destructors cannot be evaluated at compile-time LL | const fn into_inner_lt(self) -> T { self.0 } //~ destructors cannot be evaluated | ^^^^ constant functions cannot evaluate destructors -error: mutable references in const fn are unstable +error[E0723]: mutable references in const fn are unstable (see issue #57563) --> $DIR/min_const_fn.rs:46:42 | LL | const fn get_mut_lt(&'a mut self) -> &mut T { &mut self.0 } | ^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable error[E0493]: destructors cannot be evaluated at compile-time --> $DIR/min_const_fn.rs:51:27 @@ -28,173 +32,229 @@ error[E0493]: destructors cannot be evaluated at compile-time LL | const fn into_inner_s(self) -> T { self.0 } //~ ERROR destructors | ^^^^ constant functions cannot evaluate destructors -error: mutable references in const fn are unstable +error[E0723]: mutable references in const fn are unstable (see issue #57563) --> $DIR/min_const_fn.rs:53:38 | LL | const fn get_mut_s(&mut self) -> &mut T { &mut self.0 } | ^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: mutable references in const fn are unstable +error[E0723]: mutable references in const fn are unstable (see issue #57563) --> $DIR/min_const_fn.rs:58:39 | LL | const fn get_mut_sq(&mut self) -> &mut T { &mut self.0 } | ^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn.rs:76:16 | LL | const fn foo11(t: T) -> T { t } | ^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn.rs:78:18 | LL | const fn foo11_2(t: T) -> T { t } | ^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: only int, `bool` and `char` operations are stable in const fn +error[E0723]: only int, `bool` and `char` operations are stable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:80:33 | LL | const fn foo19(f: f32) -> f32 { f * 2.0 } | ^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: only int, `bool` and `char` operations are stable in const fn +error[E0723]: only int, `bool` and `char` operations are stable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:82:35 | LL | const fn foo19_2(f: f32) -> f32 { 2.0 - f } | ^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: only int and `bool` operations are stable in const fn +error[E0723]: only int and `bool` operations are stable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:84:35 | LL | const fn foo19_3(f: f32) -> f32 { -f } | ^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: only int, `bool` and `char` operations are stable in const fn +error[E0723]: only int, `bool` and `char` operations are stable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:86:43 | LL | const fn foo19_4(f: f32, g: f32) -> f32 { f / g } | ^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: cannot access `static` items in const fn +error[E0723]: cannot access `static` items in const fn (see issue #57563) --> $DIR/min_const_fn.rs:90:27 | LL | const fn foo25() -> u32 { BAR } //~ ERROR cannot access `static` items in const fn | ^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: cannot access `static` items in const fn +error[E0723]: cannot access `static` items in const fn (see issue #57563) --> $DIR/min_const_fn.rs:91:36 | LL | const fn foo26() -> &'static u32 { &BAR } //~ ERROR cannot access `static` items | ^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: casting pointers to ints is unstable in const fn +error[E0723]: casting pointers to ints is unstable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:92:42 | LL | const fn foo30(x: *const u32) -> usize { x as usize } | ^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: casting pointers to ints is unstable in const fn +error[E0723]: casting pointers to ints is unstable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:94:63 | LL | const fn foo30_with_unsafe(x: *const u32) -> usize { unsafe { x as usize } } | ^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: casting pointers to ints is unstable in const fn +error[E0723]: casting pointers to ints is unstable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:96:42 | LL | const fn foo30_2(x: *mut u32) -> usize { x as usize } | ^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: casting pointers to ints is unstable in const fn +error[E0723]: casting pointers to ints is unstable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:98:63 | LL | const fn foo30_2_with_unsafe(x: *mut u32) -> usize { unsafe { x as usize } } | ^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: `if`, `match`, `&&` and `||` are not stable in const fn +error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:100:38 | LL | const fn foo30_4(b: bool) -> usize { if b { 1 } else { 42 } } | ^^^^^^^^^^^^^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: `if`, `match`, `&&` and `||` are not stable in const fn +error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:102:29 | LL | const fn foo30_5(b: bool) { while b { } } //~ ERROR not stable in const fn | ^^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: `if`, `match`, `&&` and `||` are not stable in const fn +error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:104:44 | LL | const fn foo36(a: bool, b: bool) -> bool { a && b } | ^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: `if`, `match`, `&&` and `||` are not stable in const fn +error[E0723]: `if`, `match`, `&&` and `||` are not stable in const fn (see issue #57563) --> $DIR/min_const_fn.rs:106:44 | LL | const fn foo37(a: bool, b: bool) -> bool { a || b } | ^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: mutable references in const fn are unstable +error[E0723]: mutable references in const fn are unstable (see issue #57563) --> $DIR/min_const_fn.rs:108:14 | LL | const fn inc(x: &mut i32) { *x += 1 } | ^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn.rs:113:6 | LL | impl Foo { | ^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn.rs:118:6 | LL | impl Foo { | ^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn.rs:123:6 | LL | impl Foo { | ^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: `impl Trait` in const fn is unstable +error[E0723]: `impl Trait` in const fn is unstable (see issue #57563) --> $DIR/min_const_fn.rs:129:24 | LL | const fn no_rpit2() -> AlanTuring { AlanTuring(0) } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn.rs:131:34 | LL | const fn no_apit2(_x: AlanTuring) {} | ^^^^^^^^^^^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn.rs:133:22 | LL | const fn no_apit(_x: impl std::fmt::Debug) {} //~ ERROR trait bounds other than `Sized` | ^^^^^^^^^^^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: `impl Trait` in const fn is unstable +error[E0723]: `impl Trait` in const fn is unstable (see issue #57563) --> $DIR/min_const_fn.rs:134:23 | LL | const fn no_rpit() -> impl std::fmt::Debug {} //~ ERROR `impl Trait` in const fn is unstable | ^^^^^^^^^^^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn.rs:135:23 | LL | const fn no_dyn_trait(_x: &dyn std::fmt::Debug) {} //~ ERROR trait bounds other than `Sized` | ^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn.rs:136:32 | LL | const fn no_dyn_trait_ret() -> &'static dyn std::fmt::Debug { &() } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable warning[E0515]: cannot return reference to temporary value --> $DIR/min_const_fn.rs:136:63 @@ -208,25 +268,31 @@ LL | const fn no_dyn_trait_ret() -> &'static dyn std::fmt::Debug { &() } = warning: this error has been downgraded to a warning for backwards compatibility with previous releases = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn.rs:141:41 | LL | const fn really_no_traits_i_mean_it() { (&() as &std::fmt::Debug, ()).1 } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: function pointers in const fn are unstable +error[E0723]: function pointers in const fn are unstable (see issue #57563) --> $DIR/min_const_fn.rs:144:21 | LL | const fn no_fn_ptrs(_x: fn()) {} | ^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: function pointers in const fn are unstable +error[E0723]: function pointers in const fn are unstable (see issue #57563) --> $DIR/min_const_fn.rs:146:27 | LL | const fn no_fn_ptrs2() -> fn() { fn foo() {} foo } | ^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable error: aborting due to 36 previous errors -Some errors occurred: E0493, E0515. +Some errors occurred: E0493, E0515, E0723. For more information about an error, try `rustc --explain E0493`. diff --git a/src/test/ui/consts/min_const_fn/min_const_fn_dyn.nll.stderr b/src/test/ui/consts/min_const_fn/min_const_fn_dyn.nll.stderr index 6dbe9b1c6ab10..2800d622f5353 100644 --- a/src/test/ui/consts/min_const_fn/min_const_fn_dyn.nll.stderr +++ b/src/test/ui/consts/min_const_fn/min_const_fn_dyn.nll.stderr @@ -1,14 +1,18 @@ -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn_dyn.rs:9:5 | LL | x.0.field; | ^^^^^^^^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable -error: trait bounds other than `Sized` on const fn parameters are unstable +error[E0723]: trait bounds other than `Sized` on const fn parameters are unstable (see issue #57563) --> $DIR/min_const_fn_dyn.rs:12:66 | LL | const fn no_inner_dyn_trait_ret() -> Hide { Hide(HasDyn { field: &0 }) } | ^^ + | + = help: add #![feature(const_fn)] to the crate attributes to enable warning[E0716]: temporary value dropped while borrowed --> $DIR/min_const_fn_dyn.rs:12:67 @@ -24,4 +28,5 @@ LL | const fn no_inner_dyn_trait_ret() -> Hide { Hide(HasDyn { field: &0 }) } error: aborting due to 2 previous errors -For more information about this error, try `rustc --explain E0716`. +Some errors occurred: E0716, E0723. +For more information about an error, try `rustc --explain E0716`.