From: Owen Avery <powerboat9.ga...@gmail.com> Since our bootstrap requirement has been bumped to C++14, we don't need a custom implementation of std::make_unique anymore.
gcc/rust/ChangeLog: * ast/rust-ast-builder-type.cc: Remove inclusion of rust-make-unique.h. * ast/rust-ast-builder.cc: Likewise. (Builder::array): Use std::make_unique instead of Rust::make_unique. * ast/rust-ast.cc (Attribute::get_traits_to_derive): Likewise. * ast/rust-macro.h: Remove inclusion of rust-make-unique.h. (MacroRulesDefinition::mbe): Use std::make_unique instead of Rust::make_unique. (MacroRulesDefinition::decl_macro): Likewise. * ast/rust-path.h (PathInExpression::PathInExpression): Likewise. (QualifiedPathInExpression::QualifiedPathInExpression): Likewise. * backend/rust-compile-pattern.cc (CompilePatternCheckExpr::visit): Likewise. * expand/rust-derive-copy.cc (DeriveCopy::copy_impl): Likewise. * expand/rust-expand-format-args.cc (expand_format_args): Likewise. * expand/rust-macro-builtins-asm.cc: Remove inclusion of rust-make-unique.h. (parse_asm): Use std::make_unique instead of Rust::make_unique. * hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Likewise. * hir/tree/rust-hir-expr.cc (StructExprStructFields::StructExprStructFields): Likewise. (StructExprStructFields::operator=): Likewise. * hir/tree/rust-hir.cc (TypePath::to_trait_bound): Likewise. * lex/rust-token.h: Remove inclusion of rust-make-unique.h. (Token::Token): Use std::make_unique instead of Rust::make_unique. * metadata/rust-import-archive.cc: Remove inclusion of rust-make-unique.h. (Import::find_archive_export_data): Use std::make_unique instead of Rust::make_unique. * metadata/rust-imports.cc: Remove inclusion of rust-make-unique.h. (Import::find_export_data): Use std::make_unique instead of Rust::make_unique. (Import::find_object_export_data): Likewise. * parse/rust-parse-impl.h: Remove inclusion of rust-make-unique.h. (Parser::parse_function_param): Use std::make_unique instead of Rust::make_unique. (Parser::parse_self_param): Likewise. (Parser::parse_array_expr): Likewise. * typecheck/rust-hir-type-check-enumitem.cc (TypeCheckEnumItem::visit): Likewise. * typecheck/rust-hir-type-check-implitem.cc (TypeCheckTopLevelExternItem::visit): Likewise. (TypeCheckImplItem::visit): Likewise. * typecheck/rust-hir-type-check-type.cc (TypeResolveGenericParam::visit): Likewise. * typecheck/rust-hir-type-check.cc: Remove inclusion of rust-make-unique.h. (TraitItemReference::get_type_from_fn): Use std::make_unique instead of Rust::make_unique. * typecheck/rust-tyty-bounds.cc (TypeCheckBase::get_predicate_from_bound): Likewise. * util/rust-make-unique.h: Removed. Signed-off-by: Owen Avery <powerboat9.ga...@gmail.com> --- gcc/rust/ast/rust-ast-builder-type.cc | 1 - gcc/rust/ast/rust-ast-builder.cc | 3 +- gcc/rust/ast/rust-ast.cc | 4 +-- gcc/rust/ast/rust-macro.h | 5 ++- gcc/rust/ast/rust-path.h | 8 ++--- gcc/rust/backend/rust-compile-pattern.cc | 2 +- gcc/rust/expand/rust-derive-copy.cc | 2 +- gcc/rust/expand/rust-expand-format-args.cc | 2 +- gcc/rust/expand/rust-macro-builtins-asm.cc | 7 ++-- gcc/rust/hir/rust-ast-lower-expr.cc | 2 +- gcc/rust/hir/tree/rust-hir-expr.cc | 10 +++--- gcc/rust/hir/tree/rust-hir.cc | 4 +-- gcc/rust/lex/rust-token.h | 7 ++-- gcc/rust/metadata/rust-import-archive.cc | 5 ++- gcc/rust/metadata/rust-imports.cc | 5 ++- gcc/rust/parse/rust-parse-impl.h | 23 ++++++------ .../typecheck/rust-hir-type-check-enumitem.cc | 6 ++-- .../typecheck/rust-hir-type-check-implitem.cc | 4 +-- .../typecheck/rust-hir-type-check-type.cc | 2 +- gcc/rust/typecheck/rust-hir-type-check.cc | 3 +- gcc/rust/typecheck/rust-tyty-bounds.cc | 4 +-- gcc/rust/util/rust-make-unique.h | 35 ------------------- 22 files changed, 50 insertions(+), 94 deletions(-) delete mode 100644 gcc/rust/util/rust-make-unique.h diff --git a/gcc/rust/ast/rust-ast-builder-type.cc b/gcc/rust/ast/rust-ast-builder-type.cc index e76d0de0e9a..13126b44057 100644 --- a/gcc/rust/ast/rust-ast-builder-type.cc +++ b/gcc/rust/ast/rust-ast-builder-type.cc @@ -20,7 +20,6 @@ #include "rust-ast-builder.h" #include "rust-ast-full.h" #include "rust-common.h" -#include "rust-make-unique.h" namespace Rust { namespace AST { diff --git a/gcc/rust/ast/rust-ast-builder.cc b/gcc/rust/ast/rust-ast-builder.cc index 2fb041abcc0..22fb0d83f97 100644 --- a/gcc/rust/ast/rust-ast-builder.cc +++ b/gcc/rust/ast/rust-ast-builder.cc @@ -22,7 +22,6 @@ #include "rust-expr.h" #include "rust-path.h" #include "rust-token.h" -#include "rust-make-unique.h" namespace Rust { namespace AST { @@ -73,7 +72,7 @@ Builder::call (std::unique_ptr<Path> &&path, std::unique_ptr<Expr> &&arg) const std::unique_ptr<Expr> Builder::array (std::vector<std::unique_ptr<Expr>> &&members) const { - auto elts = Rust::make_unique<ArrayElemsValues> (std::move (members), loc); + auto elts = std::make_unique<ArrayElemsValues> (std::move (members), loc); return std::unique_ptr<Expr> (new ArrayExpr (std::move (elts), {}, {}, loc)); } diff --git a/gcc/rust/ast/rust-ast.cc b/gcc/rust/ast/rust-ast.cc index f1298d0f3e9..06a7a097cfb 100644 --- a/gcc/rust/ast/rust-ast.cc +++ b/gcc/rust/ast/rust-ast.cc @@ -272,8 +272,8 @@ Attribute::get_traits_to_derive () case AST::MetaItem::ItemKind::Word: { auto word = static_cast<AST::MetaWord *> (meta_item); // Convert current word to path - current - = make_unique<AST::MetaItemPath> (AST::MetaItemPath ( + current = std::make_unique<AST::MetaItemPath> ( + AST::MetaItemPath ( AST::SimplePath (word->get_ident ()))); auto path = static_cast<AST::MetaItemPath *> (current.get ()); diff --git a/gcc/rust/ast/rust-macro.h b/gcc/rust/ast/rust-macro.h index 76b3b2a3a8f..a953b75155c 100644 --- a/gcc/rust/ast/rust-macro.h +++ b/gcc/rust/ast/rust-macro.h @@ -24,7 +24,6 @@ #include "rust-ast-fragment.h" #include "rust-location.h" #include "rust-item.h" -#include "rust-make-unique.h" #include "rust-macro-builtins.h" namespace Rust { @@ -521,7 +520,7 @@ public: mbe (Identifier rule_name, DelimType delim_type, std::vector<MacroRule> rules, std::vector<Attribute> outer_attrs, location_t locus) { - return Rust::make_unique<MacroRulesDefinition> ( + return std::make_unique<MacroRulesDefinition> ( MacroRulesDefinition (rule_name, delim_type, rules, outer_attrs, locus, AST::MacroRulesDefinition::MacroKind::MBE, AST::Visibility::create_error ())); @@ -532,7 +531,7 @@ public: std::vector<Attribute> outer_attrs, location_t locus, Visibility vis) { - return Rust::make_unique<MacroRulesDefinition> (MacroRulesDefinition ( + return std::make_unique<MacroRulesDefinition> (MacroRulesDefinition ( rule_name, AST::DelimType::CURLY, rules, outer_attrs, locus, AST::MacroRulesDefinition::MacroKind::DeclMacro, vis)); } diff --git a/gcc/rust/ast/rust-path.h b/gcc/rust/ast/rust-path.h index 39d42fd7e15..4e26b2f9f3b 100644 --- a/gcc/rust/ast/rust-path.h +++ b/gcc/rust/ast/rust-path.h @@ -710,8 +710,8 @@ public: : outer_attrs (std::move (outer_attrs)), has_opening_scope_resolution (has_opening_scope_resolution), locus (locus), _node_id (Analysis::Mappings::get ().get_next_node_id ()), - path (Rust::make_unique<RegularPath> (std::move (path_segments), locus, - _node_id)), + path (std::make_unique<RegularPath> (std::move (path_segments), locus, + _node_id)), marked_for_strip (false) {} @@ -720,7 +720,7 @@ public: : outer_attrs (std::move (outer_attrs)), has_opening_scope_resolution (false), locus (locus), _node_id (Analysis::Mappings::get ().get_next_node_id ()), - path (Rust::make_unique<LangItemPath> (lang_item_kind, locus)), + path (std::make_unique<LangItemPath> (lang_item_kind, locus)), marked_for_strip (false) {} @@ -1439,7 +1439,7 @@ public: location_t locus) : outer_attrs (std::move (outer_attrs)), path_type (std::move (qual_path_type)), - path (Rust::make_unique<RegularPath> ( + path (std::make_unique<RegularPath> ( std::move (path_segments), locus, Analysis::Mappings::get ().get_next_node_id ())) {} diff --git a/gcc/rust/backend/rust-compile-pattern.cc b/gcc/rust/backend/rust-compile-pattern.cc index b2e7c351f95..bd534ff3bef 100644 --- a/gcc/rust/backend/rust-compile-pattern.cc +++ b/gcc/rust/backend/rust-compile-pattern.cc @@ -80,7 +80,7 @@ void CompilePatternCheckExpr::visit (HIR::LiteralPattern &pattern) { // Compile the literal - auto litexpr = Rust::make_unique<HIR::LiteralExpr> ( + auto litexpr = std::make_unique<HIR::LiteralExpr> ( HIR::LiteralExpr (pattern.get_mappings (), pattern.get_literal (), pattern.get_locus (), std::vector<AST::Attribute> ())); diff --git a/gcc/rust/expand/rust-derive-copy.cc b/gcc/rust/expand/rust-derive-copy.cc index 02817250db1..f8007abd575 100644 --- a/gcc/rust/expand/rust-derive-copy.cc +++ b/gcc/rust/expand/rust-derive-copy.cc @@ -46,7 +46,7 @@ DeriveCopy::copy_impl ( // `$crate::core::marker::Copy` instead auto segments = std::vector<std::unique_ptr<TypePathSegment>> (); segments.emplace_back (builder.type_path_segment ("Copy")); - auto copy = Rust::make_unique<LangItemPath> (LangItem::Kind::COPY, loc); + auto copy = std::make_unique<LangItemPath> (LangItem::Kind::COPY, loc); // we need to build up the generics for this impl block which will be just a // clone of the types specified ones diff --git a/gcc/rust/expand/rust-expand-format-args.cc b/gcc/rust/expand/rust-expand-format-args.cc index c8087eef6da..af6182f627f 100644 --- a/gcc/rust/expand/rust-expand-format-args.cc +++ b/gcc/rust/expand/rust-expand-format-args.cc @@ -120,7 +120,7 @@ expand_format_args (AST::FormatArgs &fmt, auto pieces = builder.ref (builder.array (std::move (static_pieces))); auto args_slice = builder.ref (builder.array (std::move (args_array))); - auto final_path = make_unique<AST::PathInExpression> ( + auto final_path = std::make_unique<AST::PathInExpression> ( builder.path_in_expression ({"core", "fmt", "Arguments", "new_v1"})); auto final_args = std::vector<std::unique_ptr<AST::Expr>> (); final_args.emplace_back (std::move (pieces)); diff --git a/gcc/rust/expand/rust-macro-builtins-asm.cc b/gcc/rust/expand/rust-macro-builtins-asm.cc index 5ed24d641ce..78e308a6654 100644 --- a/gcc/rust/expand/rust-macro-builtins-asm.cc +++ b/gcc/rust/expand/rust-macro-builtins-asm.cc @@ -17,7 +17,6 @@ // <http://www.gnu.org/licenses/>. #include "expected.h" -#include "rust-make-unique.h" #include "rust-macro-builtins-asm.h" #include "rust-ast-fragment.h" #include "rust-ast.h" @@ -858,9 +857,9 @@ parse_asm (location_t invoc_locus, AST::MacroInvocData &invoc, // properly. if (semicolon == AST::InvocKind::Semicoloned) single_vec.emplace_back (AST::SingleASTNode ( - Rust::make_unique<AST::ExprStmt> (std::move (node), invoc_locus, - semicolon - == AST::InvocKind::Semicoloned))); + std::make_unique<AST::ExprStmt> (std::move (node), invoc_locus, + semicolon + == AST::InvocKind::Semicoloned))); else single_vec.emplace_back (AST::SingleASTNode (std::move (node))); diff --git a/gcc/rust/hir/rust-ast-lower-expr.cc b/gcc/rust/hir/rust-ast-lower-expr.cc index b45b5f925df..7ccb251e0e6 100644 --- a/gcc/rust/hir/rust-ast-lower-expr.cc +++ b/gcc/rust/hir/rust-ast-lower-expr.cc @@ -518,7 +518,7 @@ ASTLoweringExpr::visit (AST::StructExprStructFields &struct_expr) HIR::Expr *translated_base = ASTLoweringExpr::translate ( struct_expr.get_struct_base ().get_base_struct ()); base = tl::optional<std::unique_ptr<HIR::StructBase>> ( - Rust::make_unique<StructBase> ( + std::make_unique<StructBase> ( std::unique_ptr<HIR::Expr> (translated_base))); } diff --git a/gcc/rust/hir/tree/rust-hir-expr.cc b/gcc/rust/hir/tree/rust-hir-expr.cc index 6c9a7a475e7..4a902c65594 100644 --- a/gcc/rust/hir/tree/rust-hir-expr.cc +++ b/gcc/rust/hir/tree/rust-hir-expr.cc @@ -541,10 +541,10 @@ StructExprStructFields::StructExprStructFields ( StructExprStructFields::StructExprStructFields ( StructExprStructFields const &other) : StructExprStruct (other), - struct_base ( - other.has_struct_base () ? tl::optional<std::unique_ptr<StructBase>> ( - Rust::make_unique<StructBase> (*other.struct_base.value ())) - : tl::nullopt), + struct_base (other.has_struct_base () + ? tl::optional<std::unique_ptr<StructBase>> ( + std::make_unique<StructBase> (*other.struct_base.value ())) + : tl::nullopt), union_index (other.union_index) { fields.reserve (other.fields.size ()); @@ -558,7 +558,7 @@ StructExprStructFields::operator= (StructExprStructFields const &other) StructExprStruct::operator= (other); struct_base = other.has_struct_base () ? tl::optional<std::unique_ptr<StructBase>> ( - Rust::make_unique<StructBase> (*other.struct_base.value ())) + std::make_unique<StructBase> (*other.struct_base.value ())) : tl::nullopt; union_index = other.union_index; diff --git a/gcc/rust/hir/tree/rust-hir.cc b/gcc/rust/hir/tree/rust-hir.cc index c20d69d2146..da1c8b9ab1b 100644 --- a/gcc/rust/hir/tree/rust-hir.cc +++ b/gcc/rust/hir/tree/rust-hir.cc @@ -2710,8 +2710,8 @@ TypePath::to_trait_bound (bool in_parens) const // create clone FIXME is this required? or is copy constructor automatically // called? TypePath copy (*this); - return Rust::make_unique<TraitBound> (mappings, std::move (copy), - copy.get_locus (), in_parens); + return std::make_unique<TraitBound> (mappings, std::move (copy), + copy.get_locus (), in_parens); } std::string diff --git a/gcc/rust/lex/rust-token.h b/gcc/rust/lex/rust-token.h index aa2f308dd88..c683ecd446e 100644 --- a/gcc/rust/lex/rust-token.h +++ b/gcc/rust/lex/rust-token.h @@ -21,7 +21,6 @@ #include "rust-system.h" #include "rust-linemap.h" -#include "rust-make-unique.h" #include "rust-unicode.h" namespace Rust { @@ -268,7 +267,7 @@ private: : token_id (token_id), locus (location), type_hint (CORETYPE_UNKNOWN) { // Normalize identifier tokens - str = Rust::make_unique<std::string> ( + str = std::make_unique<std::string> ( nfc_normalize_token_string (location, token_id, paramStr)); } @@ -285,7 +284,7 @@ private: : token_id (token_id), locus (location), type_hint (CORETYPE_UNKNOWN) { // Normalize identifier tokens - str = Rust::make_unique<std::string> ( + str = std::make_unique<std::string> ( nfc_normalize_token_string (location, token_id, paramCodepoint.as_string ())); } @@ -296,7 +295,7 @@ private: : token_id (token_id), locus (location), type_hint (parType) { // Normalize identifier tokens - str = Rust::make_unique<std::string> ( + str = std::make_unique<std::string> ( nfc_normalize_token_string (location, token_id, paramStr)); } diff --git a/gcc/rust/metadata/rust-import-archive.cc b/gcc/rust/metadata/rust-import-archive.cc index 6c392b00b4b..cf24607f099 100644 --- a/gcc/rust/metadata/rust-import-archive.cc +++ b/gcc/rust/metadata/rust-import-archive.cc @@ -7,7 +7,6 @@ #include "rust-system.h" #include "rust-diagnostics.h" #include "rust-imports.h" -#include "rust-make-unique.h" #ifndef O_BINARY #define O_BINARY 0 @@ -844,7 +843,7 @@ Import::find_archive_export_data (const std::string &filename, int fd, if (!afile.initialize ()) return nullptr; - auto ret = Rust::make_unique<Stream_concatenate> (); + auto ret = std::make_unique<Stream_concatenate> (); bool any_data = false; bool any_members = false; @@ -872,7 +871,7 @@ Import::find_archive_export_data (const std::string &filename, int fd, if (!any_members) { // It's normal to have an empty archive file when using gobuild. - return Rust::make_unique<Stream_from_string> (""); + return std::make_unique<Stream_from_string> (""); } if (!any_data) diff --git a/gcc/rust/metadata/rust-imports.cc b/gcc/rust/metadata/rust-imports.cc index f2ab105bb1d..8d5c381ef4c 100644 --- a/gcc/rust/metadata/rust-imports.cc +++ b/gcc/rust/metadata/rust-imports.cc @@ -21,7 +21,6 @@ #include "rust-imports.h" #include "rust-object-export.h" #include "rust-export-metadata.h" -#include "rust-make-unique.h" #ifndef O_BINARY #define O_BINARY 0 @@ -259,7 +258,7 @@ Import::find_export_data (const std::string &filename, int fd, // if (memcmp (buf, Metadata::kMagicHeader, sizeof (Metadata::kMagicHeader)) == 0) - return Rust::make_unique<Stream_from_file> (fd); + return std::make_unique<Stream_from_file> (fd); // See if we can read this as an archive. if (Import::is_archive_magic (buf)) @@ -291,7 +290,7 @@ Import::find_object_export_data (const std::string &filename, int fd, if (buf == nullptr) return nullptr; - return Rust::make_unique<Stream_from_buffer> (buf, len); + return std::make_unique<Stream_from_buffer> (buf, len); } // Class Import. diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index d5383ada21e..185217a7b9b 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -29,7 +29,6 @@ #include "rust-token.h" #define INCLUDE_ALGORITHM #include "rust-diagnostics.h" -#include "rust-make-unique.h" #include "rust-dir-owner.h" #include "rust-attribute-values.h" #include "rust-keyword-values.h" @@ -3683,7 +3682,7 @@ Parser<ManagedTokenSource>::parse_function_param () if (lexer.peek_token ()->get_id () == ELLIPSIS) // Unnamed variadic { lexer.skip_token (); // Skip ellipsis - return Rust::make_unique<AST::VariadicParam> ( + return std::make_unique<AST::VariadicParam> ( AST::VariadicParam (std::move (outer_attrs), locus)); } @@ -3705,7 +3704,7 @@ Parser<ManagedTokenSource>::parse_function_param () if (lexer.peek_token ()->get_id () == ELLIPSIS) // Named variadic { lexer.skip_token (); // Skip ellipsis - return Rust::make_unique<AST::VariadicParam> ( + return std::make_unique<AST::VariadicParam> ( AST::VariadicParam (std::move (param_pattern), std::move (outer_attrs), locus)); } @@ -3716,7 +3715,7 @@ Parser<ManagedTokenSource>::parse_function_param () { return nullptr; } - return Rust::make_unique<AST::FunctionParam> ( + return std::make_unique<AST::FunctionParam> ( AST::FunctionParam (std::move (param_pattern), std::move (param_type), std::move (outer_attrs), locus)); } @@ -7124,14 +7123,14 @@ Parser<ManagedTokenSource>::parse_self_param () if (has_reference) { - return Rust::make_unique<AST::SelfParam> (std::move (lifetime), has_mut, - locus); + return std::make_unique<AST::SelfParam> (std::move (lifetime), has_mut, + locus); } else { // note that type may be nullptr here and that's fine - return Rust::make_unique<AST::SelfParam> (std::move (type), has_mut, - locus); + return std::make_unique<AST::SelfParam> (std::move (type), has_mut, + locus); } } @@ -8693,10 +8692,10 @@ Parser<ManagedTokenSource>::parse_array_expr (AST::AttrVec outer_attrs, std::vector<std::unique_ptr<AST::Expr>> exprs; auto array_elems - = Rust::make_unique<AST::ArrayElemsValues> (std::move (exprs), locus); - return Rust::make_unique<AST::ArrayExpr> (std::move (array_elems), - std::move (inner_attrs), - std::move (outer_attrs), locus); + = std::make_unique<AST::ArrayElemsValues> (std::move (exprs), locus); + return std::make_unique<AST::ArrayExpr> (std::move (array_elems), + std::move (inner_attrs), + std::move (outer_attrs), locus); } else { diff --git a/gcc/rust/typecheck/rust-hir-type-check-enumitem.cc b/gcc/rust/typecheck/rust-hir-type-check-enumitem.cc index 22025cef68a..4bf7b72c1e9 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-enumitem.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-enumitem.cc @@ -69,7 +69,7 @@ TypeCheckEnumItem::visit (HIR::EnumItem &item) mappings.get_next_hir_id ( item.get_mappings ().get_crate_num ()), item.get_mappings ().get_local_defid ()); - auto discim_expr = Rust::make_unique<HIR::LiteralExpr> ( + auto discim_expr = std::make_unique<HIR::LiteralExpr> ( HIR::LiteralExpr (mapping, std::to_string (last_discriminant), HIR::Literal::LitType::INT, PrimitiveCoreType::CORETYPE_I64, item.get_locus (), {})); @@ -174,7 +174,7 @@ TypeCheckEnumItem::visit (HIR::EnumItemTuple &item) mappings.get_next_hir_id ( item.get_mappings ().get_crate_num ()), item.get_mappings ().get_local_defid ()); - auto discim_expr = Rust::make_unique<HIR::LiteralExpr> ( + auto discim_expr = std::make_unique<HIR::LiteralExpr> ( HIR::LiteralExpr (mapping, std::to_string (last_discriminant), HIR::Literal::LitType::INT, PrimitiveCoreType::CORETYPE_I64, item.get_locus (), {})); @@ -234,7 +234,7 @@ TypeCheckEnumItem::visit (HIR::EnumItemStruct &item) mappings.get_next_hir_id ( item.get_mappings ().get_crate_num ()), item.get_mappings ().get_local_defid ()); - auto discrim_expr = Rust::make_unique<HIR::LiteralExpr> ( + auto discrim_expr = std::make_unique<HIR::LiteralExpr> ( HIR::LiteralExpr (mapping, std::to_string (last_discriminant), HIR::Literal::LitType::INT, PrimitiveCoreType::CORETYPE_I64, item.get_locus (), {})); diff --git a/gcc/rust/typecheck/rust-hir-type-check-implitem.cc b/gcc/rust/typecheck/rust-hir-type-check-implitem.cc index 5da88b890f3..4521822410c 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-implitem.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-implitem.cc @@ -142,7 +142,7 @@ TypeCheckTopLevelExternItem::visit (HIR::ExternalFunctionItem &function) mappings.get_next_hir_id (crate_num), UNKNOWN_LOCAL_DEFID); - auto param_pattern = Rust::make_unique<HIR::IdentifierPattern> ( + auto param_pattern = std::make_unique<HIR::IdentifierPattern> ( HIR::IdentifierPattern (mapping, param.get_param_name (), UNDEF_LOCATION, false, Mutability::Imm, std::unique_ptr<HIR::Pattern> (nullptr))); @@ -390,7 +390,7 @@ TypeCheckImplItem::visit (HIR::Function &function) HIR::SelfParam &self_param = function.get_self_param (); // FIXME: which location should be used for Rust::Identifier for `self`? std::unique_ptr<HIR::Pattern> self_pattern - = Rust::make_unique<HIR::IdentifierPattern> ( + = std::make_unique<HIR::IdentifierPattern> ( HIR::IdentifierPattern (mapping, {"self"}, self_param.get_locus (), self_param.is_ref (), self_param.get_mut (), std::unique_ptr<HIR::Pattern> (nullptr))); diff --git a/gcc/rust/typecheck/rust-hir-type-check-type.cc b/gcc/rust/typecheck/rust-hir-type-check-type.cc index e9207effafb..4ea1a493fa8 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-type.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-type.cc @@ -924,7 +924,7 @@ TypeResolveGenericParam::visit (HIR::TypeParam ¶m) param.get_mappings ().get_nodeid (), implicit_id, param.get_mappings ().get_local_defid ()); - implicit_self_bound = Rust::make_unique<HIR::TypePath> ( + implicit_self_bound = std::make_unique<HIR::TypePath> ( HIR::TypePath (mappings, {}, BUILTINS_LOCATION, false)); } diff --git a/gcc/rust/typecheck/rust-hir-type-check.cc b/gcc/rust/typecheck/rust-hir-type-check.cc index 4bcb709de75..a198ad3d66d 100644 --- a/gcc/rust/typecheck/rust-hir-type-check.cc +++ b/gcc/rust/typecheck/rust-hir-type-check.cc @@ -24,7 +24,6 @@ #include "rust-hir-type-check-item.h" #include "rust-hir-type-check-pattern.h" #include "rust-hir-type-check-struct-field.h" -#include "rust-make-unique.h" #include "rust-immutable-name-resolution-context.h" // for flag_name_resolution_2_0 @@ -238,7 +237,7 @@ TraitItemReference::get_type_from_fn (/*const*/ HIR::TraitItemFunc &fn) const // but we reuse the HIR identifier pattern which requires it HIR::SelfParam &self_param = function.get_self (); std::unique_ptr<HIR::Pattern> self_pattern - = Rust::make_unique<HIR::IdentifierPattern> (HIR::IdentifierPattern ( + = std::make_unique<HIR::IdentifierPattern> (HIR::IdentifierPattern ( mapping, {"self"}, self_param.get_locus (), self_param.is_ref (), self_param.is_mut () ? Mutability::Mut : Mutability::Imm, std::unique_ptr<HIR::Pattern> (nullptr))); diff --git a/gcc/rust/typecheck/rust-tyty-bounds.cc b/gcc/rust/typecheck/rust-tyty-bounds.cc index 41844ea741a..5db96cc7b41 100644 --- a/gcc/rust/typecheck/rust-tyty-bounds.cc +++ b/gcc/rust/typecheck/rust-tyty-bounds.cc @@ -237,8 +237,8 @@ TypeCheckBase::get_predicate_from_bound ( std::vector<std::unique_ptr<HIR::Type>> inputs; inputs.push_back ( - Rust::make_unique<HIR::TupleType> (mapping, std::move (params_copy), - final_seg.get_locus ())); + std::make_unique<HIR::TupleType> (mapping, std::move (params_copy), + final_seg.get_locus ())); // resolve the fn_once_output type which assumes there must be an output // set diff --git a/gcc/rust/util/rust-make-unique.h b/gcc/rust/util/rust-make-unique.h deleted file mode 100644 index ef589911bed..00000000000 --- a/gcc/rust/util/rust-make-unique.h +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (C) 2020-2025 Free Software Foundation, Inc. - -// This file is part of GCC. - -// GCC is free software; you can redistribute it and/or modify it under -// the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 3, or (at your option) any later -// version. - -// GCC is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -// for more details. - -// You should have received a copy of the GNU General Public License -// along with GCC; see the file COPYING3. If not see -// <http://www.gnu.org/licenses/>. - -#ifndef RUST_MAKE_UNIQUE_H -#define RUST_MAKE_UNIQUE_H - -#include "rust-system.h" - -namespace Rust { - -template <typename T, typename... Ts> -std::unique_ptr<T> -make_unique (Ts &&...params) -{ - return std::unique_ptr<T> (new T (std::forward<Ts> (params)...)); -} - -} // namespace Rust - -#endif // RUST_MAKE_UNIQUE_H -- 2.45.2