From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id 2A9CF3858C2D; Tue, 7 Feb 2023 17:55:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2A9CF3858C2D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1675792500; bh=K++Mu0dsQ1jpvcmFl2AHgI/zGXYtTjYC2XUtTsQkXSU=; h=From:To:Subject:Date:From; b=en8gWV2RJPhHTPnK2A/YEvxyNIWWWmp2qPaTb0QNMmcO7t+pXzoOClbLxSbF39mZ2 8Nv3z+cuYVqdsFuVk5gz6lnPqUOx8hMU4gDg5BpmNDDoNExMU90SI/nHxCqmprLIVo n14FLg40FnwGAtnQmxsWzx2K3tu+JqofHJ1yL6Ow= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] gccrs: Move TypePredicateItem impl out of the header X-Act-Checkin: gcc X-Git-Author: Philip Herron X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: bf724a30cc281528d993bd17d7c2d2c7c54d420a X-Git-Newrev: 8e9f9807f35aeb63a21fc49c0fa55a76a6d3107e Message-Id: <20230207175500.2A9CF3858C2D@sourceware.org> Date: Tue, 7 Feb 2023 17:55:00 +0000 (GMT) List-Id: https://gcc.gnu.org/g:8e9f9807f35aeb63a21fc49c0fa55a76a6d3107e commit 8e9f9807f35aeb63a21fc49c0fa55a76a6d3107e Author: Philip Herron Date: Thu Jan 12 16:40:30 2023 +0000 gccrs: Move TypePredicateItem impl out of the header This moves the implementation code out of the header and into its respective cc file. Signed-off-by: Philip Herron gcc/rust/ChangeLog: * typecheck/rust-tyty-bounds.cc (TypeBoundPredicateItem::error): refactor (TypeBoundPredicateItem::is_error): likewise (TypeBoundPredicateItem::get_parent): likewise * typecheck/rust-tyty.h: Move the implementation for the above Diff: --- gcc/rust/typecheck/rust-tyty-bounds.cc | 24 ++++++++++++++++++++++++ gcc/rust/typecheck/rust-tyty.h | 16 ++++------------ 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/gcc/rust/typecheck/rust-tyty-bounds.cc b/gcc/rust/typecheck/rust-tyty-bounds.cc index e5057c8e3c0..a307dd34c38 100644 --- a/gcc/rust/typecheck/rust-tyty-bounds.cc +++ b/gcc/rust/typecheck/rust-tyty-bounds.cc @@ -364,6 +364,30 @@ TypeBoundPredicate::lookup_associated_item (const std::string &search) const return TypeBoundPredicateItem (this, trait_item_ref); } +TypeBoundPredicateItem::TypeBoundPredicateItem ( + const TypeBoundPredicate *parent, + const Resolver::TraitItemReference *trait_item_ref) + : parent (parent), trait_item_ref (trait_item_ref) +{} + +TypeBoundPredicateItem +TypeBoundPredicateItem::error () +{ + return TypeBoundPredicateItem (nullptr, nullptr); +} + +bool +TypeBoundPredicateItem::is_error () const +{ + return parent == nullptr || trait_item_ref == nullptr; +} + +const TypeBoundPredicate * +TypeBoundPredicateItem::get_parent () const +{ + return parent; +} + TypeBoundPredicateItem TypeBoundPredicate::lookup_associated_item ( const Resolver::TraitItemReference *ref) const diff --git a/gcc/rust/typecheck/rust-tyty.h b/gcc/rust/typecheck/rust-tyty.h index 4f333a8ed2f..365bf7d1b3d 100644 --- a/gcc/rust/typecheck/rust-tyty.h +++ b/gcc/rust/typecheck/rust-tyty.h @@ -82,19 +82,11 @@ class TypeBoundPredicateItem { public: TypeBoundPredicateItem (const TypeBoundPredicate *parent, - const Resolver::TraitItemReference *trait_item_ref) - : parent (parent), trait_item_ref (trait_item_ref) - {} + const Resolver::TraitItemReference *trait_item_ref); - static TypeBoundPredicateItem error () - { - return TypeBoundPredicateItem (nullptr, nullptr); - } + static TypeBoundPredicateItem error (); - bool is_error () const - { - return parent == nullptr || trait_item_ref == nullptr; - } + bool is_error () const; BaseType *get_tyty_for_receiver (const TyTy::BaseType *receiver); @@ -102,7 +94,7 @@ public: bool needs_implementation () const; - const TypeBoundPredicate *get_parent () const { return parent; } + const TypeBoundPredicate *get_parent () const; Location get_locus () const;