From: Zhi Heng <yapz...@gmail.com> gcc/rust/ChangeLog:
* hir/rust-ast-lower-pattern.cc: Lower of IdentifierPattern's to_bind to HIR. * hir/rust-hir-dump.cc: Update IdentifierPattern's dump to properly show to_bind's full full properties. Signed-off-by: Yap Zhi Heng <yapz...@gmail.com> --- gcc/rust/hir/rust-ast-lower-pattern.cc | 5 +++++ gcc/rust/hir/rust-hir-dump.cc | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/rust/hir/rust-ast-lower-pattern.cc b/gcc/rust/hir/rust-ast-lower-pattern.cc index 9be36c8f2a0..cbb2e4c1fa3 100644 --- a/gcc/rust/hir/rust-ast-lower-pattern.cc +++ b/gcc/rust/hir/rust-ast-lower-pattern.cc @@ -50,6 +50,11 @@ ASTLoweringPattern::visit (AST::IdentifierPattern &pattern) UNKNOWN_LOCAL_DEFID); std::unique_ptr<Pattern> to_bind; + if (pattern.has_pattern_to_bind ()) + { + to_bind = std::unique_ptr<Pattern> ( + ASTLoweringPattern::translate (pattern.get_pattern_to_bind ())); + } translated = new HIR::IdentifierPattern (mapping, pattern.get_ident (), pattern.get_locus (), pattern.get_is_ref (), diff --git a/gcc/rust/hir/rust-hir-dump.cc b/gcc/rust/hir/rust-hir-dump.cc index ee5765e280c..984e626b90a 100644 --- a/gcc/rust/hir/rust-hir-dump.cc +++ b/gcc/rust/hir/rust-hir-dump.cc @@ -2116,7 +2116,7 @@ Dump::visit (IdentifierPattern &e) put_field ("mut", std::to_string (e.is_mut ())); if (e.has_pattern_to_bind ()) - put_field ("to_bind", e.get_to_bind ().as_string ()); + visit_field ("to_bind", e.get_to_bind ()); else put_field ("to_bind", "none"); -- 2.49.0