diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-06-27 11:22:00 +0200 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2023-06-29 09:26:34 +0000 |
commit | d5723ccebbf62ed4546c5e2b2141b274585dd64c (patch) | |
tree | 1b925f691054a3881a0175426f502b5b0193c5b8 /gcc/rust/hir | |
parent | 3d2a0c0445c2a1417dcc290b7a14e551c14fa421 (diff) | |
download | gcc-d5723ccebbf62ed4546c5e2b2141b274585dd64c.zip gcc-d5723ccebbf62ed4546c5e2b2141b274585dd64c.tar.gz gcc-d5723ccebbf62ed4546c5e2b2141b274585dd64c.tar.bz2 |
ast: Change Identifier definition
Change Identifier type definition from a simple typedef to a whole class
with it's own node id.
gcc/rust/ChangeLog:
* ast/rust-ast-collector.cc (TokenCollector::visit): Change with
call to getter.
* ast/rust-ast.cc (Module::as_string): Likewise.
(StaticItem::as_string): Likewise.
(TupleStruct::as_string): Likewise.
(Method::as_string): Likewise.
(StructStruct::as_string): Likewise.
(UseTreeRebind::as_string): Likewise.
(Enum::as_string): Likewise.
(Trait::as_string): Likewise.
(Union::as_string): Likewise.
(Function::as_string): Likewise.
(TypeAlias::as_string): Likewise.
(MacroRulesDefinition::as_string): Likewise.
(FieldAccessExpr::as_string): Likewise.
(MacroMatchFragment::as_string): Likewise.
(TypeParam::as_string): Likewise.
(StructExprFieldIdentifierValue::as_string): Likewise.
(EnumItem::as_string): Likewise.
(StructField::as_string): Likewise.
(ExternalTypeItem::as_string): Likewise.
(ExternalStaticItem::as_string): Likewise.
(ExternalFunctionItem::as_string): Likewise.
(TraitFunctionDecl::as_string): Likewise.
(TraitMethodDecl::as_string): Likewise.
(TraitItemConst::as_string): Likewise.
(TraitItemType::as_string): Likewise.
(MaybeNamedParam::as_string): Likewise.
(MetaListPaths::as_string): Likewise.
(MetaListNameValueStr::as_string): Likewise.
(Module::process_file_path): Likewise.
(MetaListNameValueStr::check_cfg_predicate): Likewise.
(MetaListPaths::check_cfg_predicate): Likewise.
(MetaWord::check_cfg_predicate): Likewise.
(MetaNameValueStr::check_cfg_predicate): Likewise.
(MetaNameValueStr::to_attribute): Likewise.
(MetaWord::to_attribute): Likewise.
(MetaListPaths::to_attribute): Likewise.
(MetaListNameValueStr::to_attribute): Likewise.
(operator<<): Change Identifier class <<
operator overload for standard output stream.
* ast/rust-ast.h (class Identifier): Change typedef to proper
class definition.
(operator<<): Add prototype for operator overload.
(class Token): Change getter identifier.
(class MetaListNameValueStr): Likewise.
(class PathExpr): Likewise.
* ast/rust-expr.h: Likewise.
* ast/rust-item.h: Likewise.
* ast/rust-macro.h: Likewise.
* ast/rust-path.cc (GenericArg::disambiguate_to_type): Likewise.
(GenericArgsBinding::as_string): Likewise.
(ConstGenericParam::as_string): Likewise.
* ast/rust-path.h: Likewise.
* ast/rust-pattern.cc (IdentifierPattern::as_string): Likewise.
(StructPatternFieldIdentPat::as_string): Likewise.
(StructPatternFieldIdent::as_string): Likewise.
* ast/rust-type.h: Likewise.
* backend/rust-compile-base.cc: Likewise.
* backend/rust-compile-expr.cc (CompileExpr::visit): Likewise.
* backend/rust-compile-extern.h: Likewise.
* backend/rust-compile-fnparam.cc (CompileFnParam::visit):
Likewise.
* backend/rust-compile-implitem.cc (CompileTraitItem::visit):
Likewise.
* backend/rust-compile-item.cc (CompileItem::visit): Likewise.
* backend/rust-compile-pattern.cc (CompilePatternBindings::visit): Likewise.
* backend/rust-compile-struct-field-expr.cc (CompileStructExprField::visit):
Likewise.
* backend/rust-compile-var-decl.h: Likewise.
* backend/rust-compile.cc: Likewise.
* checks/errors/rust-unsafe-checker.cc (check_extern_call):
Likewise.
* checks/lints/rust-lint-marklive.cc (MarkLive::visit):
Likewise.
* checks/lints/rust-lint-scan-deadcode.h: Likewise.
* expand/rust-derive-clone.cc (DeriveClone::clone_fn): Likewise.
(DeriveClone::visit_tuple): Likewise.
(DeriveClone::visit_struct): Likewise.
(DeriveClone::visit_union): Likewise.
* expand/rust-derive-copy.cc (DeriveCopy::visit_struct):
Likewise.
(DeriveCopy::visit_tuple): Likewise.
(DeriveCopy::visit_enum): Likewise.
(DeriveCopy::visit_union): Likewise.
* expand/rust-macro-expand.cc (MacroExpander::match_matcher):
Likewise.
(MacroExpander::match_n_matches): Likewise.
(MacroExpander::match_repetition): Likewise.
(MacroExpander::match_repetition_skipped_metavars): Likewise.
* hir/rust-ast-lower-base.cc (struct_field_name_exists):
Likewise.
* hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Likewise.
* hir/rust-ast-lower-type.cc (ASTLowerGenericParam::visit):
Likewise.
* hir/rust-hir-dump.cc (Dump::visit): Likewise.
* hir/tree/rust-hir-expr.h: Likewise.
* hir/tree/rust-hir-item.h: Likewise.
* hir/tree/rust-hir-path.h: Likewise.
* hir/tree/rust-hir-type.h: Likewise.
* hir/tree/rust-hir.cc (Module::as_string): Likewise.
(StaticItem::as_string): Likewise.
(TupleStruct::as_string): Likewise.
(ConstantItem::as_string): Likewise.
(StructStruct::as_string): Likewise.
(UseTreeRebind::as_string): Likewise.
(Enum::as_string): Likewise.
(Trait::as_string): Likewise.
(Union::as_string): Likewise.
(Function::as_string): Likewise.
(TypeAlias::as_string): Likewise.
(FieldAccessExpr::as_string): Likewise.
(TypeParam::as_string): Likewise.
(GenericArgsBinding::as_string): Likewise.
(StructPatternFieldIdent::as_string): Likewise.
(StructPatternFieldIdentPat::as_string): Likewise.
(IdentifierPattern::as_string): Likewise.
(StructExprFieldIdentifierValue::as_string): Likewise.
(EnumItem::as_string): Likewise.
(StructField::as_string): Likewise.
(ExternalStaticItem::as_string): Likewise.
(ExternalFunctionItem::as_string): Likewise.
(NamedFunctionParam::as_string): Likewise.
(TraitFunctionDecl::as_string): Likewise.
(TraitItemConst::as_string): Likewise.
(TraitItemType::as_string): Likewise.
(MaybeNamedParam::as_string): Likewise.
* hir/tree/rust-hir.h: Likewise.
* parse/rust-parse-impl.h (Parser::parse_macro_match_fragment):
Likewise.
(Parser::parse_module): Likewise.
(Parser::parse_use_tree): Likewise.
(Parser::parse_maybe_named_param): Likewise.
* resolve/rust-ast-resolve-implitem.h: Likewise.
* resolve/rust-ast-resolve-item.cc (ResolveTraitItems::visit):
Likewise.
(ResolveItem::visit): Likewise.
(flatten_rebind): Likewise.
(ResolveExternItem::visit): Likewise.
(rust_flatten_rebind): Likewise.
(rust_flatten_rebind_nested): Likewise.
* resolve/rust-ast-resolve-pattern.cc (PatternDeclaration::go):
Likewise.
(PatternDeclaration::visit): Likewise.
(PatternDeclaration::add_new_binding): Likewise.
* resolve/rust-ast-resolve-stmt.h: Likewise.
* resolve/rust-ast-resolve-toplevel.h: Likewise.
* resolve/rust-ast-resolve-type.h: Likewise.
* resolve/rust-early-name-resolver.cc (EarlyNameResolver::visit): Likewise.
* typecheck/rust-autoderef.cc: Likewise.
* typecheck/rust-hir-dot-operator.cc (MethodResolver::select):
Likewise.
* typecheck/rust-hir-path-probe.cc (PathProbeType::visit):
Likewise.
* typecheck/rust-hir-trait-reference.cc (TraitReference::get_name): Likewise.
* typecheck/rust-hir-trait-resolve.cc (ResolveTraitItemToRef::visit): Likewise.
(TraitResolver::resolve_trait): Likewise.
(TraitItemReference::resolve_item): Likewise.
(AssociatedImplTrait::setup_raw_associated_types): Likewise.
* typecheck/rust-hir-type-check-enumitem.cc (TypeCheckEnumItem::visit): Likewise.
* typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
Likewise.
* typecheck/rust-hir-type-check-implitem.cc (TypeCheckTopLevelExternItem::visit): Likewise.
(TypeCheckImplItem::visit): Likewise.
(TypeCheckImplItemWithTrait::visit): Likewise.
* typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit):
Likewise.
* typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit): Likewise.
* typecheck/rust-hir-type-check-struct.cc (TypeCheckStructExpr::visit): Likewise.
* typecheck/rust-hir-type-check-type.cc (TypeResolveGenericParam::visit): Likewise.
* typecheck/rust-hir-type-check.cc (TraitItemReference::get_type_from_fn): Likewise.
* typecheck/rust-tyty-subst.cc (SubstitutionRef::get_mappings_from_generic_args): Likewise.
* util/rust-attributes.cc (check_doc_attribute): Likewise.
* util/rust-hir-map.cc (Mappings::insert_macro_def): Likewise.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc/rust/hir')
-rw-r--r-- | gcc/rust/hir/rust-ast-lower-base.cc | 6 | ||||
-rw-r--r-- | gcc/rust/hir/rust-ast-lower-expr.cc | 2 | ||||
-rw-r--r-- | gcc/rust/hir/rust-ast-lower-type.cc | 2 | ||||
-rw-r--r-- | gcc/rust/hir/rust-hir-dump.cc | 4 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-expr.h | 2 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-item.h | 27 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-path.h | 2 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-type.h | 2 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir.cc | 55 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir.h | 1 |
10 files changed, 57 insertions, 46 deletions
diff --git a/gcc/rust/hir/rust-ast-lower-base.cc b/gcc/rust/hir/rust-ast-lower-base.cc index d7c6a3c..23a3ec4 100644 --- a/gcc/rust/hir/rust-ast-lower-base.cc +++ b/gcc/rust/hir/rust-ast-lower-base.cc @@ -675,12 +675,14 @@ struct_field_name_exists (std::vector<HIR::StructField> &fields, { for (auto &field : fields) { - if (field.get_field_name ().compare (new_field.get_field_name ()) == 0) + if (field.get_field_name ().as_string ().compare ( + new_field.get_field_name ().as_string ()) + == 0) { RichLocation r (new_field.get_locus ()); r.add_range (field.get_locus ()); rust_error_at (r, "duplicate field name %qs", - field.get_field_name ().c_str ()); + field.get_field_name ().as_string ().c_str ()); return true; } } diff --git a/gcc/rust/hir/rust-ast-lower-expr.cc b/gcc/rust/hir/rust-ast-lower-expr.cc index 8d09664..53b7736 100644 --- a/gcc/rust/hir/rust-ast-lower-expr.cc +++ b/gcc/rust/hir/rust-ast-lower-expr.cc @@ -235,7 +235,7 @@ ASTLoweringExpr::visit (AST::IdentifierExpr &expr) UNKNOWN_LOCAL_DEFID); Analysis::NodeMapping mapping2 (mapping1); - HIR::PathIdentSegment ident_seg (expr.get_ident ()); + HIR::PathIdentSegment ident_seg (expr.get_ident ().as_string ()); HIR::PathExprSegment seg (mapping1, ident_seg, expr.get_locus (), HIR::GenericArgs::create_empty ()); translated = new HIR::PathInExpression (mapping2, {seg}, expr.get_locus (), diff --git a/gcc/rust/hir/rust-ast-lower-type.cc b/gcc/rust/hir/rust-ast-lower-type.cc index 02b367b..fa60058 100644 --- a/gcc/rust/hir/rust-ast-lower-type.cc +++ b/gcc/rust/hir/rust-ast-lower-type.cc @@ -461,7 +461,7 @@ ASTLowerGenericParam::visit (AST::ConstGenericParam ¶m) default_expr = ASTLoweringExpr::translate ( param.get_default_value ().get_expression ().get ()); - translated = new HIR::ConstGenericParam (param.get_name (), + translated = new HIR::ConstGenericParam (param.get_name ().as_string (), std::unique_ptr<Type> (type), std::unique_ptr<Expr> (default_expr), mapping, param.get_locus ()); diff --git a/gcc/rust/hir/rust-hir-dump.cc b/gcc/rust/hir/rust-hir-dump.cc index 4b0d613..27138df 100644 --- a/gcc/rust/hir/rust-hir-dump.cc +++ b/gcc/rust/hir/rust-hir-dump.cc @@ -420,7 +420,7 @@ Dump::visit (Function &func) // function name stream << indentation << "func_name: "; auto func_name = func.get_function_name (); - stream << func_name; + stream << func_name.as_string (); stream << ",\n"; // return type @@ -549,7 +549,7 @@ void Dump::visit (IdentifierPattern &ident) { auto ident_name = ident.get_identifier (); - stream << ident_name; + stream << ident_name.as_string (); } void Dump::visit (WildcardPattern &) diff --git a/gcc/rust/hir/tree/rust-hir-expr.h b/gcc/rust/hir/tree/rust-hir-expr.h index 4bda783..bf8bc68 100644 --- a/gcc/rust/hir/tree/rust-hir-expr.h +++ b/gcc/rust/hir/tree/rust-hir-expr.h @@ -1460,7 +1460,7 @@ public: field_name (std::move (field_identifier)) {} - std::string as_string () const override { return field_name; } + std::string as_string () const override { return field_name.as_string (); } void accept_vis (HIRFullVisitor &vis) override; void accept_vis (HIRExpressionVisitor &vis) override; diff --git a/gcc/rust/hir/tree/rust-hir-item.h b/gcc/rust/hir/tree/rust-hir-item.h index 7726ee0..8fdfa5f 100644 --- a/gcc/rust/hir/tree/rust-hir-item.h +++ b/gcc/rust/hir/tree/rust-hir-item.h @@ -1230,7 +1230,7 @@ public: std::string get_impl_item_name () const override final { - return get_function_name (); + return get_function_name ().as_string (); } protected: @@ -1354,7 +1354,7 @@ public: std::string get_impl_item_name () const override final { - return get_new_type_name (); + return get_new_type_name ().as_string (); } protected: @@ -2117,7 +2117,10 @@ public: // Returns whether constant item is an "unnamed" (wildcard underscore used // as identifier) constant. - bool is_unnamed () const { return identifier == std::string ("_"); } + bool is_unnamed () const + { + return identifier.as_string () == std::string ("_"); + } Location get_locus () const override final { return locus; } @@ -2130,7 +2133,7 @@ public: Expr *get_expr () { return const_expr.get (); } - std::string get_identifier () const { return identifier; } + Identifier get_identifier () const { return identifier; } Analysis::NodeMapping get_impl_mappings () const override { @@ -2146,7 +2149,7 @@ public: std::string get_impl_item_name () const override final { - return get_identifier (); + return get_identifier ().as_string (); } protected: @@ -2401,7 +2404,7 @@ public: const std::string trait_identifier () const override final { - return decl.get_function_name (); + return decl.get_function_name ().as_string (); } TraitItemKind get_item_kind () const override final @@ -2490,7 +2493,10 @@ public: return expr; } - const std::string trait_identifier () const override final { return name; } + const std::string trait_identifier () const override final + { + return name.as_string (); + } TraitItemKind get_item_kind () const override final { @@ -2579,7 +2585,10 @@ public: return type_param_bounds; } - const std::string trait_identifier () const override final { return name; } + const std::string trait_identifier () const override final + { + return name.as_string (); + } TraitItemKind get_item_kind () const override final { @@ -2999,7 +3008,7 @@ private: Analysis::NodeMapping mappings; public: - bool has_name () const { return name != "_"; } + bool has_name () const { return name.as_string () != "_"; } NamedFunctionParam (Analysis::NodeMapping mappings, Identifier name, std::unique_ptr<Type> param_type) diff --git a/gcc/rust/hir/tree/rust-hir-path.h b/gcc/rust/hir/tree/rust-hir-path.h index 88d0ff9..8f4e5e3 100644 --- a/gcc/rust/hir/tree/rust-hir-path.h +++ b/gcc/rust/hir/tree/rust-hir-path.h @@ -71,7 +71,7 @@ public: // Creates an error state generic args binding. static GenericArgsBinding create_error () { - return GenericArgsBinding ("", nullptr); + return GenericArgsBinding ({""}, nullptr); } // Pointer type for type in constructor to enable polymorphism diff --git a/gcc/rust/hir/tree/rust-hir-type.h b/gcc/rust/hir/tree/rust-hir-type.h index 1949ad1..2e7df10 100644 --- a/gcc/rust/hir/tree/rust-hir-type.h +++ b/gcc/rust/hir/tree/rust-hir-type.h @@ -730,7 +730,7 @@ public: // Creates an error state param. static MaybeNamedParam create_error () { - return MaybeNamedParam ("", UNNAMED, nullptr, Location ()); + return MaybeNamedParam ({""}, UNNAMED, nullptr, Location ()); } Location get_locus () const { return locus; } diff --git a/gcc/rust/hir/tree/rust-hir.cc b/gcc/rust/hir/tree/rust-hir.cc index 03e7e26..0bad520 100644 --- a/gcc/rust/hir/tree/rust-hir.cc +++ b/gcc/rust/hir/tree/rust-hir.cc @@ -168,7 +168,7 @@ std::string Module::as_string () const { // get module string for "[vis] mod [name]" - std::string str = VisItem::as_string () + "mod " + module_name; + std::string str = VisItem::as_string () + "mod " + module_name.as_string (); // inner attributes str += "\n inner attributes: "; @@ -223,7 +223,7 @@ StaticItem::as_string () const str += " mut"; } - str += name; + str += name.as_string (); // DEBUG: null pointer check if (type == nullptr) @@ -266,7 +266,7 @@ TupleStruct::as_string () const { std::string str = VisItem::as_string (); - str += "struct " + struct_name; + str += "struct " + struct_name.as_string (); // generic params str += "\n Generic params: "; @@ -323,7 +323,7 @@ ConstantItem::as_string () const { std::string str = VisItem::as_string (); - str += "const " + identifier; + str += "const " + identifier.as_string (); // DEBUG: null pointer check if (type == nullptr) @@ -425,7 +425,7 @@ StructStruct::as_string () const { std::string str = VisItem::as_string (); - str += "struct " + struct_name; + str += "struct " + struct_name.as_string (); // generic params str += "\n Generic params: "; @@ -581,7 +581,7 @@ UseTreeRebind::as_string () const // nothing to add, just path break; case IDENTIFIER: - path_str += " as " + identifier; + path_str += " as " + identifier.as_string (); break; case WILDCARD: path_str += " as _"; @@ -598,7 +598,7 @@ std::string Enum::as_string () const { std::string str = VisItem::as_string (); - str += enum_name; + str += enum_name.as_string (); // generic params str += "\n Generic params: "; @@ -669,7 +669,7 @@ Trait::as_string () const str += "unsafe "; } - str += "trait " + name; + str += "trait " + name.as_string (); // generic params str += "\n Generic params: "; @@ -756,7 +756,7 @@ Union::as_string () const { std::string str = VisItem::as_string (); - str += "union " + union_name; + str += "union " + union_name.as_string (); // generic params str += "\n Generic params: "; @@ -834,7 +834,7 @@ Function::as_string () const str += "void "; } - str += function_name; + str += function_name.as_string (); if (has_generics ()) { @@ -985,7 +985,7 @@ TypeAlias::as_string () const { std::string str = VisItem::as_string (); - str += " " + new_type_name; + str += " " + new_type_name.as_string (); // generic params str += "\n Generic params: "; @@ -1458,7 +1458,7 @@ DereferenceExpr::as_string () const std::string FieldAccessExpr::as_string () const { - return receiver->as_string () + "." + field; + return receiver->as_string () + "." + field.as_string (); } std::string @@ -2118,7 +2118,7 @@ TypeParam::as_string () const str += outer_attr.as_string (); } - str += "\n Identifier: " + type_representation; + str += "\n Identifier: " + type_representation.as_string (); str += "\n Type param bounds: "; if (!has_type_param_bounds ()) @@ -2284,7 +2284,7 @@ GenericArgs::as_string () const std::string GenericArgsBinding::as_string () const { - return identifier + " = " + type->as_string (); + return identifier.as_string () + " = " + type->as_string (); } std::string @@ -2457,7 +2457,7 @@ StructPatternFieldIdent::as_string () const str += "mut "; } - str += ident; + str += ident.as_string (); return str; } @@ -2481,7 +2481,7 @@ StructPatternFieldIdentPat::as_string () const str += "\n"; - str += ident + " : " + ident_pattern->as_string (); + str += ident.as_string () + " : " + ident_pattern->as_string (); return str; } @@ -2562,7 +2562,7 @@ IdentifierPattern::as_string () const str += "mut "; } - str += variable_ident; + str += variable_ident.as_string (); if (has_pattern_to_bind ()) { @@ -2991,7 +2991,7 @@ StructExprFieldWithVal::as_string () const std::string StructExprFieldIdentifierValue::as_string () const { - return field_name + " : " + StructExprFieldWithVal::as_string (); + return field_name.as_string () + " : " + StructExprFieldWithVal::as_string (); } std::string @@ -3035,7 +3035,7 @@ std::string EnumItem::as_string () const { std::string str = Item::as_string (); - str += variant_name; + str += variant_name.as_string (); str += " "; switch (get_enum_item_kind ()) { @@ -3165,7 +3165,7 @@ StructField::as_string () const str += "\n" + visibility.as_string (); } - str += " " + field_name + " : " + field_type->as_string (); + str += " " + field_name.as_string () + " : " + field_type->as_string (); return str; } @@ -3219,7 +3219,7 @@ ExternalStaticItem::as_string () const } // add name - str += get_item_name (); + str += get_item_name ().as_string (); // add type on new line str += "\n Type: " + item_type->as_string (); @@ -3235,7 +3235,7 @@ ExternalFunctionItem::as_string () const str += "fn "; // add name - str += get_item_name (); + str += get_item_name ().as_string (); // generic params str += "\n Generic params: "; @@ -3299,7 +3299,7 @@ ExternalFunctionItem::as_string () const std::string NamedFunctionParam::as_string () const { - std::string str = name; + std::string str = name.as_string (); str += "\n Type: " + param_type->as_string (); @@ -3357,7 +3357,8 @@ TraitItemFunc::as_string () const std::string TraitFunctionDecl::as_string () const { - std::string str = qualifiers.as_string () + "fn " + function_name; + std::string str + = qualifiers.as_string () + "fn " + function_name.as_string (); // generic params str += "\n Generic params: "; @@ -3441,7 +3442,7 @@ TraitItemConst::as_string () const } } - str += "\nconst " + name + " : " + type->as_string (); + str += "\nconst " + name.as_string () + " : " + type->as_string (); if (has_expression ()) { @@ -3469,7 +3470,7 @@ TraitItemType::as_string () const } } - str += "\ntype " + name; + str += "\ntype " + name.as_string (); str += "\n Type param bounds: "; if (!has_type_param_bounds ()) @@ -3655,7 +3656,7 @@ MaybeNamedParam::as_string () const case UNNAMED: break; case IDENTIFIER: - str = name + " : "; + str = name.as_string () + " : "; break; case WILDCARD: str = "_ : "; diff --git a/gcc/rust/hir/tree/rust-hir.h b/gcc/rust/hir/tree/rust-hir.h index 777289c..09f5c2c 100644 --- a/gcc/rust/hir/tree/rust-hir.h +++ b/gcc/rust/hir/tree/rust-hir.h @@ -27,7 +27,6 @@ #include "rust-diagnostics.h" namespace Rust { -typedef std::string Identifier; typedef int TupleIndex; namespace HIR { |