]> git.proxmox.com Git - rustc.git/blame - src/test/mir-opt/deaggregator_test_enum.rs
New upstream version 1.14.0+dfsg1
[rustc.git] / src / test / mir-opt / deaggregator_test_enum.rs
CommitLineData
5bcae85e
SL
1// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
11enum Baz {
12 Empty,
13 Foo { x: usize },
14}
15
16fn bar(a: usize) -> Baz {
17 Baz::Foo { x: a }
18}
19
20fn main() {
21 let x = bar(10);
22 match x {
23 Baz::Empty => println!("empty"),
24 Baz::Foo { x } => println!("{}", x),
25 };
26}
27
28// END RUST SOURCE
29// START rustc.node10.Deaggregator.before.mir
30// bb0: {
c30ab7b3
SL
31// _2 = _1;
32// _3 = _2;
33// _0 = Baz::Foo { x: _3 };
34// return;
5bcae85e
SL
35// }
36// END rustc.node10.Deaggregator.before.mir
37// START rustc.node10.Deaggregator.after.mir
38// bb0: {
c30ab7b3
SL
39// _2 = _1;
40// _3 = _2;
41// ((_0 as Foo).0: usize) = _3;
42// discriminant(_0) = 1;
43// return;
5bcae85e 44// }
c30ab7b3 45// END rustc.node10.Deaggregator.after.mir