aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/resolve/rust-ast-resolve.cc
diff options
context:
space:
mode:
authorPhilip Herron <philip.herron@embecosm.com>2021-11-02 17:10:24 +0000
committerPhilip Herron <philip.herron@embecosm.com>2021-11-03 13:59:44 +0000
commit3dccdb1d6c57e983bed7135b4bc9ba7e1ae20fab (patch)
tree15f2996d46e49fb0982918629b98843f2f5af0a3 /gcc/rust/resolve/rust-ast-resolve.cc
parent5f0df4812c37fc428b5508e019e9fb7f8a7b77b1 (diff)
downloadgcc-3dccdb1d6c57e983bed7135b4bc9ba7e1ae20fab.zip
gcc-3dccdb1d6c57e983bed7135b4bc9ba7e1ae20fab.tar.gz
gcc-3dccdb1d6c57e983bed7135b4bc9ba7e1ae20fab.tar.bz2
Desugar AST::TraitObjectTypeOneBound
We have two ways to represent TraitObjectType's: - AST::TraitObjectType - AST::TraitObjectTypeOneBound This desugars this within HIR into a single HIR::TraitObjectType which contains a list of bounds. Addresses #786
Diffstat (limited to 'gcc/rust/resolve/rust-ast-resolve.cc')
-rw-r--r--gcc/rust/resolve/rust-ast-resolve.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve.cc b/gcc/rust/resolve/rust-ast-resolve.cc
index 83a15a8..af04aeb 100644
--- a/gcc/rust/resolve/rust-ast-resolve.cc
+++ b/gcc/rust/resolve/rust-ast-resolve.cc
@@ -726,6 +726,17 @@ ResolveType::visit (AST::TraitObjectTypeOneBound &type)
ok = bound_resolved_id != UNKNOWN_NODEID;
}
+void
+ResolveType::visit (AST::TraitObjectType &type)
+{
+ ok = true;
+ for (auto &bound : type.get_type_param_bounds ())
+ {
+ /* NodeId bound_resolved_id = */
+ ResolveTypeBound::go (bound.get (), type.get_node_id ());
+ }
+}
+
// rust-ast-resolve-item.h
void