diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/resolve/rust-ast-resolve-stmt.h | 6 | ||||
-rw-r--r-- | gcc/testsuite/rust.test/compilable/shadow2.rs | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve-stmt.h b/gcc/rust/resolve/rust-ast-resolve-stmt.h index 87b3cf3..6d751e6 100644 --- a/gcc/rust/resolve/rust-ast-resolve-stmt.h +++ b/gcc/rust/resolve/rust-ast-resolve-stmt.h @@ -51,12 +51,12 @@ public: void visit (AST::LetStmt &stmt) { + if (stmt.has_init_expr ()) + ResolveExpr::go (stmt.get_init_expr ().get (), stmt.get_node_id ()); + PatternDeclaration::go (stmt.get_pattern ().get (), stmt.get_node_id ()); if (stmt.has_type ()) ResolveType::go (stmt.get_type ().get (), stmt.get_node_id ()); - - if (stmt.has_init_expr ()) - ResolveExpr::go (stmt.get_init_expr ().get (), stmt.get_node_id ()); } private: diff --git a/gcc/testsuite/rust.test/compilable/shadow2.rs b/gcc/testsuite/rust.test/compilable/shadow2.rs new file mode 100644 index 0000000..fbac8c0 --- /dev/null +++ b/gcc/testsuite/rust.test/compilable/shadow2.rs @@ -0,0 +1,4 @@ +fn main() { + let x = 1; + let x = x + 1; +} |