These testcases are similar to the ones added in #2072 but regarding
execution. One more issue was opened from them - #2144
gcc/testsuite/ChangeLog:
* rust/execute/torture/issue-1852-1.rs: New test.
* rust/execute/torture/issue-1852.rs: New test.
--- /dev/null
+enum Foo {
+ A,
+ B(i32),
+}
+
+fn main() -> i32 {
+ let result = Foo::A;
+
+ let value = match result {
+ Foo::A => 15,
+ Foo::B(x) => x,
+ };
+
+ value - 15
+}
--- /dev/null
+enum Foo {
+ A,
+ B(i32),
+}
+
+fn main() -> i32 {
+ let result = Foo::B(123);
+
+ let value = match result {
+ Foo::A => 15,
+ Foo::B(x) => x,
+ };
+
+ value - 123
+}