Rust-GCC / gccrs

GCC Front-End for Rust

Home Page:https://rust-gcc.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ICE when implementing `Default` for `()`

CohenArthur opened this issue · comments

I tried this code:

#[lang = "sized"]
trait Sized {}

#[stable(feature = "rust1", since = "1.0.0")]
pub trait Default: Sized {
    #[stable(feature = "rust1", since = "1.0.0")]
    fn default() -> Self;
}

impl Default for () {
    fn default() -> () {
        ()
    }
}

I expected to see this happen: no errors.

Instead, this happened:

arthur@platypus ~/G/r/gccrs (master)> build/gcc/crab1 test.rs
crab1: internal compiler error: in visit, at rust/resolve/rust-ast-resolve-item.cc:688
0x25d6586 Rust::Resolver::ResolveItem::visit(Rust::AST::TraitImpl&)
	/home/arthur/Git/rust-gcc/gccrs/build/gcc/../../gcc/rust/resolve/rust-ast-resolve-item.cc:688
0x226c3b0 Rust::AST::TraitImpl::accept_vis(Rust::AST::ASTVisitor&)
	/home/arthur/Git/rust-gcc/gccrs/build/gcc/../../gcc/rust/ast/rust-ast.cc:4791
0x25d30e6 Rust::Resolver::ResolveItem::go(Rust::AST::Item&, Rust::Resolver::CanonicalPath const&, Rust::Resolver::CanonicalPath const&)
	/home/arthur/Git/rust-gcc/gccrs/build/gcc/../../gcc/rust/resolve/rust-ast-resolve-item.cc:174
0x25c4a6b Rust::Resolver::NameResolution::go(Rust::AST::Crate&)
	/home/arthur/Git/rust-gcc/gccrs/build/gcc/../../gcc/rust/resolve/rust-ast-resolve.cc:105
0x25c4661 Rust::Resolver::NameResolution::Resolve(Rust::AST::Crate&)
	/home/arthur/Git/rust-gcc/gccrs/build/gcc/../../gcc/rust/resolve/rust-ast-resolve.cc:58
0x23a82c9 Rust::Session::compile_crate(char const*)
	/home/arthur/Git/rust-gcc/gccrs/build/gcc/../../gcc/rust/rust-session-manager.cc:632
0x23a7b01 Rust::Session::handle_input_files(int, char const**)
	/home/arthur/Git/rust-gcc/gccrs/build/gcc/../../gcc/rust/rust-session-manager.cc:416
0x2201ac2 grs_langhook_parse_file()
	/home/arthur/Git/rust-gcc/gccrs/build/gcc/../../gcc/rust/rust-lang.cc:165
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.