diff options
| author | Deadbeef <ent3rm4n@gmail.com> | 2021-07-26 12:29:18 +0800 |
|---|---|---|
| committer | Deadbeef <ent3rm4n@gmail.com> | 2021-08-13 09:28:51 +0000 |
| commit | 869daad8fce326a4a6976cbd51964da5efacec28 (patch) | |
| tree | 1e7e2f905b34ae6bd8a09cbbd66470990567c0c1 | |
| parent | 6b6ad781f8cae57aef80d35b1c5b7f36f239ed62 (diff) | |
| download | rust-869daad8fce326a4a6976cbd51964da5efacec28.tar.gz rust-869daad8fce326a4a6976cbd51964da5efacec28.zip | |
Fix tests
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/select/mod.rs | 5 | ||||
| -rw-r--r-- | src/test/ui/consts/const-eval/issue-49296.rs | 4 | ||||
| -rw-r--r-- | src/test/ui/consts/const-eval/issue-49296.stderr | 2 |
3 files changed, 7 insertions, 4 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/select/mod.rs b/compiler/rustc_trait_selection/src/traits/select/mod.rs index f7c66f8b284..4c7ee5382d0 100644 --- a/compiler/rustc_trait_selection/src/traits/select/mod.rs +++ b/compiler/rustc_trait_selection/src/traits/select/mod.rs @@ -1063,8 +1063,9 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { }) => {} // auto trait impl AutoImplCandidate(..) => {} - // FIXME check if this is right, but this would allow Sized impls - // BuiltinCandidate { .. } => {} + // generator, this will raise error in other places + // or ignore error with const_async_blocks feature + GeneratorCandidate => {} _ => { // reject all other types of candidates return Err(Unimplemented); diff --git a/src/test/ui/consts/const-eval/issue-49296.rs b/src/test/ui/consts/const-eval/issue-49296.rs index ba0885532f1..bb8113e53f9 100644 --- a/src/test/ui/consts/const-eval/issue-49296.rs +++ b/src/test/ui/consts/const-eval/issue-49296.rs @@ -1,8 +1,10 @@ // issue-49296: Unsafe shenigans in constants can result in missing errors #![feature(const_fn_trait_bound)] +#![feature(const_trait_bound_opt_out)] +#![allow(incomplete_features)] -const unsafe fn transmute<T: Copy, U: Copy>(t: T) -> U { +const unsafe fn transmute<T: ?const Copy, U: ?const Copy>(t: T) -> U { #[repr(C)] union Transmute<T: Copy, U: Copy> { from: T, diff --git a/src/test/ui/consts/const-eval/issue-49296.stderr b/src/test/ui/consts/const-eval/issue-49296.stderr index e87ef160b82..28fdcb7c486 100644 --- a/src/test/ui/consts/const-eval/issue-49296.stderr +++ b/src/test/ui/consts/const-eval/issue-49296.stderr @@ -1,5 +1,5 @@ error[E0080]: evaluation of constant value failed - --> $DIR/issue-49296.rs:18:16 + --> $DIR/issue-49296.rs:20:16 | LL | const X: u64 = *wat(42); | ^^^^^^^^ pointer to alloc2 was dereferenced after this allocation got freed |
