Skip to content

Follow up to 4735 #4849

Description

@P-E-P

Although #4735 is now fixed (#4844), it only outputs an error message because the self segment cannot be accepted alone, it needs enclosing braces.

The following code has the required braces and also ICE.

Code

use self::{self};

Meta

Error output

internal compiler error: in value, at rust/util/optional.h:1333
Backtrace

0x46a847f internal_error(char const*, ...)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/diagnostic-global-context.cc:787
0x46b4b1d fancy_abort(char const*, int, char const*)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/diagnostics/context.cc:1813
0x186f256 tl::optional<unsigned int>::value() &&
  ../../gcc/rust/util/optional.h:1333
0x18688c3 Rust::Analysis::Mappings::get_ast_crate_by_node_id_raw(unsigned int)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/util/rust-hir-map.cc:261
0x186c6cd Rust::Analysis::Mappings::insert_glob_container(unsigned int, Rust::AST::GlobContainer*)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/util/rust-hir-map.cc:1163
0x191a6cf Rust::Resolver2_0::Early::finalize_rebind_import(Rust::Resolver2_0::Early::ImportPair const&)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/resolve/rust-early-name-resolver-2.0.cc:582
0x191a9c4 Rust::Resolver2_0::Early::visit(Rust::AST::UseDeclaration&)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/resolve/rust-early-name-resolver-2.0.cc:624
0x16a2430 Rust::AST::UseDeclaration::accept_vis(Rust::AST::ASTVisitor&)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/ast/rust-ast.cc:4742
0x17331ad void Rust::AST::DefaultASTVisitor::visit<Rust::AST::Item>(std::unique_ptr<Rust::AST::Item, std::default_delete<Rust::AST::Item> >&)
  ../../gcc/rust/ast/rust-ast-visitor.h:417
0x172cbc6 Rust::AST::DefaultASTVisitor::visit(Rust::AST::Crate&)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/ast/rust-ast-visitor.cc:39
0x1905754 Rust::Resolver2_0::DefaultResolver::visit(Rust::AST::Crate&)::$_0::operator()() const
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/resolve/rust-default-resolver.cc:41
0x19056a3 void Rust::Resolver2_0::CanonicalPathCtx::scope_inner<Rust::Resolver2_0::CanonicalPathCtx::scope_crate<Rust::Resolver2_0::DefaultResolver::visit(Rust::AST::Crate&)::$_0&>(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Rust::Resolver2_0::DefaultResolver::visit(Rust::AST::Crate&)::$_0&)::{lambda()#1}, Rust::Resolver2_0::DefaultResolver::visit(Rust::AST::Crate&)::$_0&>(unsigned int, Rust::Resolver2_0::DefaultResolver::visit(Rust::AST::Crate&)::$_0&, Rust::Resolver2_0::DefaultResolver::visit(Rust::AST::Crate&)::$_0&)
  ../../gcc/rust/resolve/rust-name-resolution-context.h:466
0x1902f47 void Rust::Resolver2_0::CanonicalPathCtx::scope_crate<Rust::Resolver2_0::DefaultResolver::visit(Rust::AST::Crate&)::$_0&>(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Rust::Resolver2_0::DefaultResolver::visit(Rust::AST::Crate&)::$_0&)
  ../../gcc/rust/resolve/rust-name-resolution-context.h:432
0x1902ef9 Rust::Resolver2_0::DefaultResolver::visit(Rust::AST::Crate&)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/resolve/rust-default-resolver.cc:51
0x191855a Rust::Resolver2_0::Early::go(Rust::AST::Crate&)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/resolve/rust-early-name-resolver-2.0.cc:81
0x1770897 Rust::Session::expansion(Rust::AST::Crate&, Rust::Resolver2_0::NameResolutionContext&)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/rust-session-manager.cc:1084
0x176e885 Rust::Session::compile_crate(char const*)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/rust-session-manager.cc:741
0x176e0b6 Rust::Session::handle_input_files(int, char const**)
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/rust-session-manager.cc:478
0x152a6c3 grs_langhook_parse_file()
  /home/patryp/Documents/gccrs_bis/build/gcc/../../gcc/rust/rust-lang.cc:165

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions