aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorConnor Lane Smith <cls@lubutu.com>2021-11-02 18:37:02 +0000
committerConnor Lane Smith <cls@lubutu.com>2021-11-03 14:08:22 +0000
commitc8ee62ed4535cfa314f12535a3cbbe3cc135872d (patch)
treea2e847b9bedd6b3e46550d1b0c370092f28547e0 /gcc
parent5f0df4812c37fc428b5508e019e9fb7f8a7b77b1 (diff)
downloadgcc-c8ee62ed4535cfa314f12535a3cbbe3cc135872d.zip
gcc-c8ee62ed4535cfa314f12535a3cbbe3cc135872d.tar.gz
gcc-c8ee62ed4535cfa314f12535a3cbbe3cc135872d.tar.bz2
Replace TupleType::iterate_fields with get_fields
Fixes #735 Signed-off-by: Connor Lane Smith <cls@lubutu.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/typecheck/rust-tyty.cc10
-rw-r--r--gcc/rust/typecheck/rust-tyty.h9
2 files changed, 6 insertions, 13 deletions
diff --git a/gcc/rust/typecheck/rust-tyty.cc b/gcc/rust/typecheck/rust-tyty.cc
index 16cabc8..b3ceb06 100644
--- a/gcc/rust/typecheck/rust-tyty.cc
+++ b/gcc/rust/typecheck/rust-tyty.cc
@@ -788,11 +788,11 @@ std::string
TupleType::as_string () const
{
std::string fields_buffer;
- iterate_fields ([&] (BaseType *field) mutable -> bool {
- fields_buffer += field->as_string ();
- fields_buffer += ", ";
- return true;
- });
+ for (const TyVar &field : get_fields ())
+ {
+ fields_buffer += field.get_tyty ()->as_string ();
+ fields_buffer += ", ";
+ }
return "(" + fields_buffer + ")";
}
diff --git a/gcc/rust/typecheck/rust-tyty.h b/gcc/rust/typecheck/rust-tyty.h
index 5ffd95c..c26e193 100644
--- a/gcc/rust/typecheck/rust-tyty.h
+++ b/gcc/rust/typecheck/rust-tyty.h
@@ -642,14 +642,7 @@ public:
return true;
}
- void iterate_fields (std::function<bool (BaseType *)> cb) const
- {
- for (size_t i = 0; i < num_fields (); i++)
- {
- if (!cb (get_field (i)))
- return;
- }
- }
+ const std::vector<TyVar> &get_fields () const { return fields; }
std::string get_name () const override final { return as_string (); }