aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-06-17 12:47:04 +0000
committerGitHub <noreply@github.com>2021-06-17 12:47:04 +0000
commitf8ae675c108a075012d0edb5c3cce972182803cb (patch)
treecfb985a8dbd60780144cab50e3877c5208fc8632 /gcc/rust/backend
parent3ab773c57c72969125220b9cedea1f85cef6c543 (diff)
parent5290a82434aa95d1c62517b2318eed80ec55f8c3 (diff)
downloadgcc-f8ae675c108a075012d0edb5c3cce972182803cb.zip
gcc-f8ae675c108a075012d0edb5c3cce972182803cb.tar.gz
gcc-f8ae675c108a075012d0edb5c3cce972182803cb.tar.bz2
Merge #498
498: Remove HIR::TraitItemMethod, this can be represented by TraitItemFunction r=philberty a=philberty Canonicalizing the paths of the compiler to treat functions and methods the same way will ensure we avoid duplication. Co-authored-by: Philip Herron <philip.herron@embecosm.com>
Diffstat (limited to 'gcc/rust/backend')
-rw-r--r--gcc/rust/backend/rust-compile-base.h1
-rw-r--r--gcc/rust/backend/rust-compile-fnparam.h5
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,