Closed
Description
With this code:
#![feature(impl_trait_in_bindings)]
#[allow(dead_code)]
fn run(){
let _foo: Box<impl Copy + '_> = Box::new(());
}
Running it in the playground (with Rust nightly 2019-12-07) it outputs these errors:
warning: the feature `impl_trait_in_bindings` is incomplete and may cause the compiler to crash
--> src/lib.rs:1:12
|
1 | #![feature(impl_trait_in_bindings)]
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(incomplete_features)]` on by default
error: internal compiler error: `opaque_defn` is a local value
--> src/lib.rs:4:9
|
4 | fn run(){
| _________^
5 | | let _foo: Box<impl Copy + '_> = Box::new(());
6 | | }
| |_^
error: internal compiler error: owner DefId(0:3 ~ playground[14f1]::run[0]) has no opaque type for DefId(0:4 ~ playground[14f1]::run[0]::{{opaque}}[0]) in its tables
error: internal compiler error: broken MIR in DefId(0:3 ~ playground[14f1]::run[0]) (Terminator { source_info: SourceInfo { span: src/lib.rs:5:37: 5:49, scope: scope[0] }, kind: _1 = const std::boxed::Box::<()>::new(move _2) -> [return: bb2, unwind: bb1] }): call dest mismatch (std::boxed::Box<impl std::marker::Copy> <- std::boxed::Box<()>): NoSolution
--> src/lib.rs:5:46
|
5 | let _foo: Box<impl Copy + '_> = Box::new(());
| ^^
thread 'rustc' panicked at 'no errors encountered even though `delay_span_bug` issued', src/librustc_errors/lib.rs:347:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.41.0-nightly (5c5c8eb86 2019-12-07) running on x86_64-unknown-linux-gnu
note: compiler flags: -C opt-level=3 -C codegen-units=1 --crate-type lib
note: some of the compiler flags provided by cargo are hidden
error: could not compile `playground`.
To learn more, run the command again with --verbose.
Metadata
Metadata
Assignees
Labels
Area: `impl Trait`. Universally / existentially quantified anonymous types with static dispatch.Category: This is a bug.Call for participation: An issue has been fixed and does not reproduce, but no test has been added.`#![feature(impl_trait_in_bindings)]`Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Relevant to the compiler team, which will review and decide on the PR/issue.ICE tracked in rust-lang/glacier.This issue requires a nightly compiler in some way.