diff options
author | Philip Herron <philip.herron@embecosm.com> | 2021-06-17 13:44:00 +0100 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2021-06-17 13:44:00 +0100 |
commit | 5290a82434aa95d1c62517b2318eed80ec55f8c3 (patch) | |
tree | 0bd3ad6117790406c04003ea8610fe7ca021daf0 /gcc/rust/backend | |
parent | eeee6c73f048177dfdd94c50fe387391d225f4f5 (diff) | |
download | gcc-5290a82434aa95d1c62517b2318eed80ec55f8c3.zip gcc-5290a82434aa95d1c62517b2318eed80ec55f8c3.tar.gz gcc-5290a82434aa95d1c62517b2318eed80ec55f8c3.tar.bz2 |
Remove HIR::TraitItemMethod this can be represented by TraitItemFunction
Methods are simply functions with a self param, this simplifies the paths
in HIR to avoid duplication as much as possible.
Diffstat (limited to 'gcc/rust/backend')
-rw-r--r-- | gcc/rust/backend/rust-compile-base.h | 1 | ||||
-rw-r--r-- | gcc/rust/backend/rust-compile-fnparam.h | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/gcc/rust/backend/rust-compile-base.h b/gcc/rust/backend/rust-compile-base.h index 232d5b9..ed33515 100644 --- a/gcc/rust/backend/rust-compile-base.h +++ b/gcc/rust/backend/rust-compile-base.h @@ -143,7 +143,6 @@ public: virtual void visit (HIR::ConstantItem &const_item) {} virtual void visit (HIR::StaticItem &static_item) {} virtual void visit (HIR::TraitItemFunc &item) {} - virtual void visit (HIR::TraitItemMethod &item) {} virtual void visit (HIR::TraitItemConst &item) {} virtual void visit (HIR::TraitItemType &item) {} virtual void visit (HIR::Trait &trait) {} diff --git a/gcc/rust/backend/rust-compile-fnparam.h b/gcc/rust/backend/rust-compile-fnparam.h index 13bb74d..e3f9558 100644 --- a/gcc/rust/backend/rust-compile-fnparam.h +++ b/gcc/rust/backend/rust-compile-fnparam.h @@ -70,7 +70,10 @@ public: HIR::SelfParam &self, Btype *decl_type, Location locus) { - if (!self.get_is_mut ()) + bool is_immutable + = self.get_self_kind () == HIR::SelfParam::ImplicitSelfKind::IMM + || self.get_self_kind () == HIR::SelfParam::ImplicitSelfKind::IMM_REF; + if (is_immutable) decl_type = ctx->get_backend ()->immutable_type (decl_type); return ctx->get_backend ()->parameter_variable (fndecl, "self", decl_type, |