Skip to content

ICE: unexpected predicate TraitPredicate on opaque type #75983

Closed
@matthiaskrgr

Description

@matthiaskrgr

Found in the pr-75180 crater run:

git clone https://github.com/PaulGrandperrin/playground/  
cd playground
git checkout 572ff41ccdfa72771a37fd9ab89f37e9b5451041
cargo check

ICEs:

error: internal compiler error: unexpected predicate TraitPredicate(<<std::rc::Rc<impl non_volatile::object::any_rc_object::Object> as std::convert::TryFrom<non_volatile::object::any_rc_object::AnyRcObject>>::Error as std::fmt::Debug>) on opaque type
  --> src/non_volatile/object/any_rc_object.rs:34:52
   |
34 |         <Rc<Self> as TryFrom<AnyRcObject>>::Error: Debug;
   |                                                    ^^^^^
   |
   = note: delayed at src/librustc_ty/ty.rs:480:18

error: internal compiler error: unexpected predicate TraitPredicate(<std::rc::Rc<impl non_volatile::object::any_rc_object::Object> as std::convert::TryFrom<non_volatile::object::any_rc_object::AnyRcObject>>) on opaque type
  --> src/non_volatile/object/any_rc_object.rs:33:19
   |
33 |         Rc<Self>: TryFrom<AnyRcObject>,
   |                   ^^^^^^^^^^^^^^^^^^^^
   |
   = note: delayed at src/librustc_ty/ty.rs:480:18

error: internal compiler error: unexpected predicate TraitPredicate(<std::rc::Rc<impl non_volatile::object::any_rc_object::Object> as std::marker::Sized>) on opaque type
   --> /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:494:23
    |
494 | pub trait TryFrom<T>: Sized {
    |                       ^^^^^
    |
    = note: delayed at src/librustc_ty/ty.rs:480:18

error: internal compiler error: unexpected predicate TraitPredicate(<non_volatile::object::any_rc_object::AnyRcObject as std::convert::From<std::rc::Rc<impl non_volatile::object::any_rc_object::Object>>>) on opaque type
  --> src/non_volatile/object/any_rc_object.rs:32:22
   |
32 |         AnyRcObject: From<Rc<Self>>,
   |                      ^^^^^^^^^^^^^^
   |
   = note: delayed at src/librustc_ty/ty.rs:480:18

error: internal compiler error: unexpected predicate TraitPredicate(<non_volatile::object::any_rc_object::AnyRcObject as std::marker::Sized>) on opaque type
   --> /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:386:20
    |
386 | pub trait From<T>: Sized {
    |                    ^^^^^
    |
    = note: delayed at src/librustc_ty/ty.rs:480:18

error: internal compiler error: unexpected predicate TraitPredicate(<non_volatile::object::any_rc_object::AnyRcObject as std::convert::From<impl non_volatile::object::any_rc_object::Object>>) on opaque type
  --> src/non_volatile/object/any_rc_object.rs:31:77
   |
31 | pub trait Object = Serializable + ConstObjType + Default where AnyRcObject: From<Self>,
   |                                                                             ^^^^^^^^^^
   |
   = note: delayed at src/librustc_ty/ty.rs:480:18

thread 'rustc' panicked at 'no errors encountered even though `delay_span_bug` issued', src/librustc_errors/lib.rs:369:17
stack backtrace:
   0: std::panicking::begin_panic
   1: <rustc_errors::HandlerInner as core::ops::drop::Drop>::drop
   2: core::ptr::drop_in_place
   3: <alloc::rc::Rc<T> as core::ops::drop::Drop>::drop
   4: core::ptr::drop_in_place
   5: rustc_span::with_source_map
   6: rustc_interface::interface::create_compiler_and_run
   7: scoped_tls::ScopedKey<T>::set
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose 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/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.47.0-nightly (2d8a3b918 2020-08-26) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental -C target-cpu=native --crate-type bin

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack
error: could not compile `playground`.

To learn more, run the command again with --verbose.

This ICE happens on:
rustc 1.47.0-beta.1 (0f91f5c28 2020-08-25)
rustc 1.47.0-nightly (2d8a3b918 2020-08-26)
but rustc 1.45.2 (d3fb005a3 2020-07-31) builds fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-trait-systemArea: Trait systemC-bugCategory: This is a bug.E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.F-trait_alias`#![feature(trait_alias)]`I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ICEBreaker-Cleanup-CrewHelping to "clean up" bugs with minimal examples and bisectionsP-mediumMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.glacierICE tracked in rust-lang/glacier.requires-nightlyThis issue requires a nightly compiler in some way.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions