diff options
Diffstat (limited to 'gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc')
-rw-r--r-- | gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc index f2f8f35..47f3ade 100644 --- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc +++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc @@ -466,18 +466,22 @@ TopLevel::visit (AST::UseDeclaration &use) const auto &tree = use.get_tree (); flatten (tree.get (), paths, glob_path, rebind_path, this->ctx); + auto imports = std::vector<ImportKind> (); + for (auto &&path : paths) - imports_to_resolve.emplace_back ( + imports.emplace_back ( ImportKind::Simple (std::move (path), values_rib, types_rib, macros_rib)); for (auto &&glob : glob_path) - imports_to_resolve.emplace_back ( + imports.emplace_back ( ImportKind::Glob (std::move (glob), values_rib, types_rib, macros_rib)); for (auto &&rebind : rebind_path) - imports_to_resolve.emplace_back ( + imports.emplace_back ( ImportKind::Rebind (std::move (rebind.first), std::move (rebind.second), values_rib, types_rib, macros_rib)); + + imports_to_resolve.insert ({use.get_node_id (), std::move (imports)}); } } // namespace Resolver2_0 |