They are so annoying to update, and haven't caught any bugs afaik.
+++ /dev/null
--include ../tools.mk
-
-FILES=f00.rs f01.rs f02.rs f03.rs f04.rs f05.rs f06.rs f07.rs \
- f08.rs f09.rs f10.rs f11.rs f12.rs f13.rs f14.rs f15.rs \
- f16.rs f17.rs f18.rs f19.rs f20.rs f21.rs f22.rs f23.rs \
- f24.rs f25.rs
-
-
-# all: $(patsubst %.rs,$(TMPDIR)/%.dot,$(FILES)) $(patsubst %.rs,$(TMPDIR)/%.pp,$(FILES))
-all: $(patsubst %.rs,$(TMPDIR)/%.check,$(FILES))
-
-
-RUSTC_LIB=$(RUSTC) --crate-type=lib
-
-define FIND_LAST_BLOCK
-LASTBLOCKNUM_$(1) := $(shell $(RUSTC_LIB) -Z unstable-options --pretty=expanded,identified $(1) \
- | grep block
- | tail -1
- | sed -e 's@.*/\* block \([0-9]*\) \*/.*@\1@')
-endef
-
-ifeq ($(findstring rustc,$(RUSTC)),)
-$(error Must set RUSTC)
-endif
-
-$(TMPDIR)/%.pp: %.rs
- $(RUSTC_LIB) --pretty=expanded,identified $< -o $@
-
-$(TMPDIR)/%.dot: %.rs
- $(eval $(call FIND_LAST_BLOCK,$<))
- $(RUSTC_LIB) -Z unstable-options --unpretty flowgraph,unlabelled=$(LASTBLOCKNUM_$<) $< -o $@.tmp
- cat $@.tmp | sed -e 's@ (id=[0-9]*)@@g' \
- -e 's@\[label=""\]@@' \
- -e 's@digraph [a-zA-Z0-9_]* @digraph block @' \
- > $@
-
-$(TMPDIR)/%.check: %.rs $(TMPDIR)/%.dot
- diff -u $(patsubst %.rs,$(TMPDIR)/%.dot,$<) $(patsubst %.rs,%.dot-expected.dot,$<)
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="block { }"];
- N3[label="expr { }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn empty_0() {
-
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 1"];
- N3[label="stmt 1;"];
- N4[label="block { 1; }"];
- N5[label="expr { 1; }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn lit_1() {
- 1;
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="local _x"];
- N3[label="stmt let _x: isize;"];
- N4[label="block { let _x: isize; }"];
- N5[label="expr { let _x: isize; }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn decl_x_2() {
- let _x : isize;
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 3"];
- N3[label="expr 4"];
- N4[label="expr 3 + 4"];
- N5[label="stmt 3 + 4;"];
- N6[label="block { 3 + 4; }"];
- N7[label="expr { 3 + 4; }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn expr_add_3() {
- 3 + 4;
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 4"];
- N3[label="local _x"];
- N4[label="stmt let _x = 4;"];
- N5[label="block { let _x = 4; }"];
- N6[label="expr { let _x = 4; }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn pat_id_4() {
- let _x = 4;
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 5"];
- N3[label="expr 55"];
- N4[label="expr (5, 55)"];
- N5[label="local _x"];
- N6[label="local _y"];
- N7[label="pat (_x, _y)"];
- N8[label="stmt let (_x, _y) = (5, 55);"];
- N9[label="block { let (_x, _y) = (5, 55); }"];
- N10[label="expr { let (_x, _y) = (5, 55); }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn pat_tup_5() {
- let (_x, _y) = (5, 55);
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 6"];
- N3[label="expr S6{val: 6,}"];
- N4[label="local _x"];
- N5[label="pat S6 { val: _x }"];
- N6[label="stmt let S6 { val: _x } = S6{val: 6,};"];
- N7[label="block { let S6 { val: _x } = S6{val: 6,}; }"];
- N8[label="expr { let S6 { val: _x } = S6{val: 6,}; }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-struct S6 { val: isize }
-pub fn pat_struct_6() {
- let S6 { val: _x } = S6{ val: 6 };
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 7"];
- N3[label="expr 77"];
- N4[label="expr 777"];
- N5[label="expr 7777"];
- N6[label="expr [7, 77, 777, 7777]"];
- N7[label="expr match [7, 77, 777, 7777] { [x, y, ..] => x + y, }"];
- N8[label="(dummy_node)"];
- N9[label="local x"];
- N10[label="local y"];
- N11[label="pat _"];
- N12[label="pat [x, y, ..]"];
- N13[label="expr x"];
- N14[label="expr y"];
- N15[label="expr x + y"];
- N16[label="stmt match [7, 77, 777, 7777] { [x, y, ..] => x + y, };"];
- N17[label="block { match [7, 77, 777, 7777] { [x, y, ..] => x + y, }; }"];
- N18[label="expr { match [7, 77, 777, 7777] { [x, y, ..] => x + y, }; }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N9;
- N9 -> N10;
- N10 -> N11;
- N11 -> N12;
- N12 -> N8;
- N8 -> N13;
- N13 -> N14;
- N14 -> N15;
- N15 -> N7;
- N7 -> N16;
- N16 -> N17;
- N17 -> N18;
- N18 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(slice_patterns)]
-
-pub fn pat_vec_7() {
- match [7, 77, 777, 7777] {
- [x, y, ..] => x + y
- };
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 8"];
- N3[label="local x"];
- N4[label="stmt let x = 8;"];
- N5[label="local _y"];
- N6[label="stmt let _y;"];
- N7[label="expr x"];
- N8[label="expr 88"];
- N9[label="expr x > 88"];
- N10[label="expr 888"];
- N11[label="expr _y"];
- N12[label="expr _y = 888"];
- N13[label="stmt _y = 888;"];
- N14[label="block { _y = 888; }"];
- N15[label="expr if x > 88 { _y = 888; }"];
- N16[label="block { let x = 8; let _y; if x > 88 { _y = 888; } }"];
- N17[label="expr { let x = 8; let _y; if x > 88 { _y = 888; } }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N11;
- N11 -> N12;
- N12 -> N13;
- N13 -> N14;
- N9 -> N15;
- N14 -> N15;
- N15 -> N16;
- N16 -> N17;
- N17 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn expr_if_onearm_8() {
- let x = 8; let _y;
- if x > 88 {
- _y = 888;
- }
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 91"];
- N3[label="local x"];
- N4[label="stmt let x = 91;"];
- N5[label="local _y"];
- N6[label="stmt let _y;"];
- N7[label="expr x"];
- N8[label="expr 92"];
- N9[label="expr x > 92"];
- N10[label="expr 93"];
- N11[label="expr _y"];
- N12[label="expr _y = 93"];
- N13[label="stmt _y = 93;"];
- N14[label="block { _y = 93; }"];
- N15[label="expr 94"];
- N16[label="expr 95"];
- N17[label="expr 94 + 95"];
- N18[label="expr _y"];
- N19[label="expr _y = 94 + 95"];
- N20[label="stmt _y = 94 + 95;"];
- N21[label="block { _y = 94 + 95; }"];
- N22[label="expr { _y = 94 + 95; }"];
- N23[label="expr if x > 92 { _y = 93; } else { _y = 94 + 95; }"];
- N24[label="block { let x = 91; let _y; if x > 92 { _y = 93; } else { _y = 94 + 95; } }"];
- N25[label="expr { let x = 91; let _y; if x > 92 { _y = 93; } else { _y = 94 + 95; } }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N11;
- N11 -> N12;
- N12 -> N13;
- N13 -> N14;
- N9 -> N15;
- N15 -> N16;
- N16 -> N17;
- N17 -> N18;
- N18 -> N19;
- N19 -> N20;
- N20 -> N21;
- N21 -> N22;
- N14 -> N23;
- N22 -> N23;
- N23 -> N24;
- N24 -> N25;
- N25 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn expr_if_twoarm_9() {
- let x = 91; let _y;
- if x > 92 {
- _y = 93;
- } else {
- _y = 94+95;
- }
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 10"];
- N3[label="local mut x"];
- N4[label="stmt let mut x = 10;"];
- N5[label="(dummy_node)"];
- N6[label="expr while x > 0 { x -= 1; }"];
- N7[label="expr x"];
- N8[label="expr 0"];
- N9[label="expr x > 0"];
- N10[label="expr 1"];
- N11[label="expr x"];
- N12[label="expr x -= 1"];
- N13[label="stmt x -= 1;"];
- N14[label="block { x -= 1; }"];
- N15[label="block { let mut x = 10; while x > 0 { x -= 1; } }"];
- N16[label="expr { let mut x = 10; while x > 0 { x -= 1; } }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N6;
- N9 -> N10;
- N10 -> N11;
- N11 -> N12;
- N12 -> N13;
- N13 -> N14;
- N14 -> N5;
- N6 -> N15;
- N15 -> N16;
- N16 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn expr_while_10() {
- let mut x = 10;
- while x > 0 {
- x -= 1;
- }
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 11"];
- N3[label="local mut _x"];
- N4[label="stmt let mut _x = 11;"];
- N5[label="(dummy_node)"];
- N6[label="expr loop { _x -= 1; }"];
- N7[label="expr 1"];
- N8[label="expr _x"];
- N9[label="expr _x -= 1"];
- N10[label="stmt _x -= 1;"];
- N11[label="block { _x -= 1; }"];
- N12[label="stmt loop { _x -= 1; }"];
- N13[label="expr \"unreachable\""];
- N14[label="stmt \"unreachable\";"];
- N15[label="block { let mut _x = 11; loop { _x -= 1; } \"unreachable\"; }"];
- N16[label="expr { let mut _x = 11; loop { _x -= 1; } \"unreachable\"; }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N11;
- N11 -> N5;
- N6 -> N12;
- N12 -> N13;
- N13 -> N14;
- N14 -> N15;
- N15 -> N16;
- N16 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[allow(unreachable_code)]
-pub fn expr_loop_11() {
- let mut _x = 11;
- loop {
- _x -= 1;
- }
- "unreachable";
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 12"];
- N3[label="local mut x"];
- N4[label="stmt let mut x = 12;"];
- N5[label="(dummy_node)"];
- N6[label="expr loop { x -= 1; if x == 2 { break ; \"unreachable\"; } }"];
- N7[label="expr 1"];
- N8[label="expr x"];
- N9[label="expr x -= 1"];
- N10[label="stmt x -= 1;"];
- N11[label="expr x"];
- N12[label="expr 2"];
- N13[label="expr x == 2"];
- N14[label="expr break"];
- N15[label="(dummy_node)"];
- N16[label="stmt break ;"];
- N17[label="expr \"unreachable\""];
- N18[label="stmt \"unreachable\";"];
- N19[label="block { break ; \"unreachable\"; }"];
- N20[label="expr if x == 2 { break ; \"unreachable\"; }"];
- N21[label="block { x -= 1; if x == 2 { break ; \"unreachable\"; } }"];
- N22[label="block { let mut x = 12; loop { x -= 1; if x == 2 { break ; \"unreachable\"; } } }"];
- N23[label="expr { let mut x = 12; loop { x -= 1; if x == 2 { break ; \"unreachable\"; } } }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N11;
- N11 -> N12;
- N12 -> N13;
- N13 -> N14;
- N14 -> N6;
- N15 -> N16;
- N16 -> N17;
- N17 -> N18;
- N18 -> N19;
- N13 -> N20;
- N19 -> N20;
- N20 -> N21;
- N21 -> N5;
- N6 -> N22;
- N22 -> N23;
- N23 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[allow(unreachable_code)]
-pub fn expr_loop_12() {
- let mut x = 12;
- loop {
- x -= 1;
- if x == 2 { break; "unreachable"; }
- }
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr E13::E13b"];
- N3[label="expr 13"];
- N4[label="expr E13::E13b(13)"];
- N5[label="local x"];
- N6[label="stmt let x = E13::E13b(13);"];
- N7[label="local _y"];
- N8[label="stmt let _y;"];
- N9[label="expr x"];
- N10[label="expr match x { E13::E13a => _y = 1, E13::E13b(v) => _y = v + 1, }"];
- N11[label="(dummy_node)"];
- N12[label="pat E13::E13a"];
- N13[label="expr 1"];
- N14[label="expr _y"];
- N15[label="expr _y = 1"];
- N16[label="(dummy_node)"];
- N17[label="local v"];
- N18[label="pat E13::E13b(v)"];
- N19[label="expr v"];
- N20[label="expr 1"];
- N21[label="expr v + 1"];
- N22[label="expr _y"];
- N23[label="expr _y = v + 1"];
- N24[label="block {\l let x = E13::E13b(13);\l let _y;\l match x { E13::E13a => _y = 1, E13::E13b(v) => _y = v + 1, }\l}\l"];
- N25[label="expr {\l let x = E13::E13b(13);\l let _y;\l match x { E13::E13a => _y = 1, E13::E13b(v) => _y = v + 1, }\l}\l"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N12;
- N12 -> N11;
- N11 -> N13;
- N13 -> N14;
- N14 -> N15;
- N15 -> N10;
- N9 -> N17;
- N17 -> N18;
- N18 -> N16;
- N16 -> N19;
- N19 -> N20;
- N20 -> N21;
- N21 -> N22;
- N22 -> N23;
- N23 -> N10;
- N10 -> N24;
- N24 -> N25;
- N25 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-enum E13 { E13a, E13b(isize) }
-pub fn expr_match_13() {
- let x = E13::E13b(13); let _y;
- match x {
- E13::E13a => _y = 1,
- E13::E13b(v) => _y = v + 1,
- }
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 14"];
- N3[label="local x"];
- N4[label="stmt let x = 14;"];
- N5[label="expr x"];
- N6[label="expr 1"];
- N7[label="expr x > 1"];
- N8[label="expr return"];
- N9[label="(dummy_node)"];
- N10[label="stmt return;"];
- N11[label="expr \"unreachable\""];
- N12[label="stmt \"unreachable\";"];
- N13[label="block { return; \"unreachable\"; }"];
- N14[label="expr if x > 1 { return; \"unreachable\"; }"];
- N15[label="block { let x = 14; if x > 1 { return; \"unreachable\"; } }"];
- N16[label="expr { let x = 14; if x > 1 { return; \"unreachable\"; } }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N1;
- N9 -> N10;
- N10 -> N11;
- N11 -> N12;
- N12 -> N13;
- N7 -> N14;
- N13 -> N14;
- N14 -> N15;
- N15 -> N16;
- N16 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[allow(unreachable_code)]
-pub fn expr_ret_14() {
- let x = 14;
- if x > 1 {
- return;
- "unreachable";
- }
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 15"];
- N3[label="local mut x"];
- N4[label="stmt let mut x = 15;"];
- N5[label="expr 151"];
- N6[label="local mut y"];
- N7[label="stmt let mut y = 151;"];
- N8[label="(dummy_node)"];
- N9[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { break ; \"unreachable\"; }\l y -= 3;\l }\l y -= 4;\l x -= 5;\l }\l"];
- N10[label="(dummy_node)"];
- N11[label="expr \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { break ; \"unreachable\"; }\l y -= 3;\l }\l"];
- N12[label="expr x"];
- N13[label="expr 1"];
- N14[label="expr x == 1"];
- N15[label="expr break \'outer"];
- N16[label="(dummy_node)"];
- N17[label="stmt break \'outer ;"];
- N18[label="expr \"unreachable\""];
- N19[label="stmt \"unreachable\";"];
- N20[label="block { break \'outer ; \"unreachable\"; }"];
- N21[label="expr if x == 1 { break \'outer ; \"unreachable\"; }"];
- N22[label="stmt if x == 1 { break \'outer ; \"unreachable\"; }"];
- N23[label="expr y"];
- N24[label="expr 2"];
- N25[label="expr y >= 2"];
- N26[label="expr break"];
- N27[label="(dummy_node)"];
- N28[label="stmt break ;"];
- N29[label="expr \"unreachable\""];
- N30[label="stmt \"unreachable\";"];
- N31[label="block { break ; \"unreachable\"; }"];
- N32[label="expr if y >= 2 { break ; \"unreachable\"; }"];
- N33[label="stmt if y >= 2 { break ; \"unreachable\"; }"];
- N34[label="expr 3"];
- N35[label="expr y"];
- N36[label="expr y -= 3"];
- N37[label="stmt y -= 3;"];
- N38[label="block {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { break ; \"unreachable\"; }\l y -= 3;\l}\l"];
- N39[label="stmt \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { break ; \"unreachable\"; }\l y -= 3;\l }\l"];
- N40[label="expr 4"];
- N41[label="expr y"];
- N42[label="expr y -= 4"];
- N43[label="stmt y -= 4;"];
- N44[label="expr 5"];
- N45[label="expr x"];
- N46[label="expr x -= 5"];
- N47[label="stmt x -= 5;"];
- N48[label="block {\l \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { break ; \"unreachable\"; }\l y -= 3;\l }\l y -= 4;\l x -= 5;\l}\l"];
- N49[label="block {\l let mut x = 15;\l let mut y = 151;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { break ; \"unreachable\"; }\l y -= 3;\l }\l y -= 4;\l x -= 5;\l }\l}\l"];
- N50[label="expr {\l let mut x = 15;\l let mut y = 151;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { break ; \"unreachable\"; }\l y -= 3;\l }\l y -= 4;\l x -= 5;\l }\l}\l"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N10;
- N10 -> N12;
- N12 -> N13;
- N13 -> N14;
- N14 -> N15;
- N15 -> N9;
- N16 -> N17;
- N17 -> N18;
- N18 -> N19;
- N19 -> N20;
- N14 -> N21;
- N20 -> N21;
- N21 -> N22;
- N22 -> N23;
- N23 -> N24;
- N24 -> N25;
- N25 -> N26;
- N26 -> N11;
- N27 -> N28;
- N28 -> N29;
- N29 -> N30;
- N30 -> N31;
- N25 -> N32;
- N31 -> N32;
- N32 -> N33;
- N33 -> N34;
- N34 -> N35;
- N35 -> N36;
- N36 -> N37;
- N37 -> N38;
- N38 -> N10;
- N11 -> N39;
- N39 -> N40;
- N40 -> N41;
- N41 -> N42;
- N42 -> N43;
- N43 -> N44;
- N44 -> N45;
- N45 -> N46;
- N46 -> N47;
- N47 -> N48;
- N48 -> N8;
- N9 -> N49;
- N49 -> N50;
- N50 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[allow(unreachable_code)]
-pub fn expr_break_label_15() {
- let mut x = 15;
- let mut y = 151;
- 'outer: loop {
- 'inner: loop {
- if x == 1 {
- break 'outer;
- "unreachable";
- }
- if y >= 2 {
- break;
- "unreachable";
- }
- y -= 3;
- }
- y -= 4;
- x -= 5;
- }
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 16"];
- N3[label="local mut x"];
- N4[label="stmt let mut x = 16;"];
- N5[label="expr 16"];
- N6[label="local mut y"];
- N7[label="stmt let mut y = 16;"];
- N8[label="(dummy_node)"];
- N9[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 1 { break ; \"unreachable\"; }\l y -= 1;\l }\l y -= 1;\l x -= 1;\l }\l"];
- N10[label="(dummy_node)"];
- N11[label="expr \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 1 { break ; \"unreachable\"; }\l y -= 1;\l }\l"];
- N12[label="expr x"];
- N13[label="expr 1"];
- N14[label="expr x == 1"];
- N15[label="expr continue \'outer"];
- N16[label="(dummy_node)"];
- N17[label="stmt continue \'outer ;"];
- N18[label="expr \"unreachable\""];
- N19[label="stmt \"unreachable\";"];
- N20[label="block { continue \'outer ; \"unreachable\"; }"];
- N21[label="expr if x == 1 { continue \'outer ; \"unreachable\"; }"];
- N22[label="stmt if x == 1 { continue \'outer ; \"unreachable\"; }"];
- N23[label="expr y"];
- N24[label="expr 1"];
- N25[label="expr y >= 1"];
- N26[label="expr break"];
- N27[label="(dummy_node)"];
- N28[label="stmt break ;"];
- N29[label="expr \"unreachable\""];
- N30[label="stmt \"unreachable\";"];
- N31[label="block { break ; \"unreachable\"; }"];
- N32[label="expr if y >= 1 { break ; \"unreachable\"; }"];
- N33[label="stmt if y >= 1 { break ; \"unreachable\"; }"];
- N34[label="expr 1"];
- N35[label="expr y"];
- N36[label="expr y -= 1"];
- N37[label="stmt y -= 1;"];
- N38[label="block {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 1 { break ; \"unreachable\"; }\l y -= 1;\l}\l"];
- N39[label="stmt \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 1 { break ; \"unreachable\"; }\l y -= 1;\l }\l"];
- N40[label="expr 1"];
- N41[label="expr y"];
- N42[label="expr y -= 1"];
- N43[label="stmt y -= 1;"];
- N44[label="expr 1"];
- N45[label="expr x"];
- N46[label="expr x -= 1"];
- N47[label="stmt x -= 1;"];
- N48[label="block {\l \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 1 { break ; \"unreachable\"; }\l y -= 1;\l }\l y -= 1;\l x -= 1;\l}\l"];
- N49[label="stmt \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 1 { break ; \"unreachable\"; }\l y -= 1;\l }\l y -= 1;\l x -= 1;\l }\l"];
- N50[label="expr \"unreachable\""];
- N51[label="stmt \"unreachable\";"];
- N52[label="block {\l let mut x = 16;\l let mut y = 16;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 1 { break ; \"unreachable\"; }\l y -= 1;\l }\l y -= 1;\l x -= 1;\l }\l \"unreachable\";\l}\l"];
- N53[label="expr {\l let mut x = 16;\l let mut y = 16;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 1 { break ; \"unreachable\"; }\l y -= 1;\l }\l y -= 1;\l x -= 1;\l }\l \"unreachable\";\l}\l"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N10;
- N10 -> N12;
- N12 -> N13;
- N13 -> N14;
- N14 -> N15;
- N15 -> N8;
- N16 -> N17;
- N17 -> N18;
- N18 -> N19;
- N19 -> N20;
- N14 -> N21;
- N20 -> N21;
- N21 -> N22;
- N22 -> N23;
- N23 -> N24;
- N24 -> N25;
- N25 -> N26;
- N26 -> N11;
- N27 -> N28;
- N28 -> N29;
- N29 -> N30;
- N30 -> N31;
- N25 -> N32;
- N31 -> N32;
- N32 -> N33;
- N33 -> N34;
- N34 -> N35;
- N35 -> N36;
- N36 -> N37;
- N37 -> N38;
- N38 -> N10;
- N11 -> N39;
- N39 -> N40;
- N40 -> N41;
- N41 -> N42;
- N42 -> N43;
- N43 -> N44;
- N44 -> N45;
- N45 -> N46;
- N46 -> N47;
- N47 -> N48;
- N48 -> N8;
- N9 -> N49;
- N49 -> N50;
- N50 -> N51;
- N51 -> N52;
- N52 -> N53;
- N53 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[allow(unreachable_code)]
-pub fn expr_continue_label_16() {
- let mut x = 16;
- let mut y = 16;
- 'outer: loop {
- 'inner: loop {
- if x == 1 {
- continue 'outer;
- "unreachable";
- }
- if y >= 1 {
- break;
- "unreachable";
- }
- y -= 1;
- }
- y -= 1;
- x -= 1;
- }
- "unreachable";
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 1"];
- N3[label="expr 7"];
- N4[label="expr 17"];
- N5[label="expr [1, 7, 17]"];
- N6[label="local _v"];
- N7[label="stmt let _v = [1, 7, 17];"];
- N8[label="block { let _v = [1, 7, 17]; }"];
- N9[label="expr { let _v = [1, 7, 17]; }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn expr_vec_17() {
- let _v = [1, 7, 17];
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="stmt fn inner(x: isize) -> isize { x + x }"];
- N3[label="expr inner"];
- N4[label="expr inner"];
- N5[label="expr 18"];
- N6[label="expr inner(18)"];
- N7[label="expr inner(inner(18))"];
- N8[label="stmt inner(inner(18));"];
- N9[label="block {\l fn inner(x: isize) -> isize { x + x }\l inner(inner(18));\l}\l"];
- N10[label="expr {\l fn inner(x: isize) -> isize { x + x }\l inner(inner(18));\l}\l"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn expr_call_18() {
- fn inner(x:isize) -> isize { x + x }
- inner(inner(18));
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="stmt struct S19 {\l x: isize,\l}\l"];
- N3[label="stmt impl S19 {\l fn inner(self: Self) -> S19 { S19{x: self.x + self.x,} }\l}\l"];
- N4[label="expr 19"];
- N5[label="expr S19{x: 19,}"];
- N6[label="local s"];
- N7[label="stmt let s = S19{x: 19,};"];
- N8[label="expr s"];
- N9[label="expr s.inner()"];
- N10[label="expr s.inner().inner()"];
- N11[label="stmt s.inner().inner();"];
- N12[label="block {\l struct S19 {\l x: isize,\l }\l impl S19 {\l fn inner(self: Self) -> S19 { S19{x: self.x + self.x,} }\l }\l let s = S19{x: 19,};\l s.inner().inner();\l}\l"];
- N13[label="expr {\l struct S19 {\l x: isize,\l }\l impl S19 {\l fn inner(self: Self) -> S19 { S19{x: self.x + self.x,} }\l }\l let s = S19{x: 19,};\l s.inner().inner();\l}\l"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N11;
- N11 -> N12;
- N12 -> N13;
- N13 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn expr_method_call_19() {
- struct S19 { x: isize }
- impl S19 { fn inner(self) -> S19 { S19 { x: self.x + self.x } } }
- let s = S19 { x: 19 };
- s.inner().inner();
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 2"];
- N3[label="expr 0"];
- N4[label="expr 20"];
- N5[label="expr [2, 0, 20]"];
- N6[label="local v"];
- N7[label="stmt let v = [2, 0, 20];"];
- N8[label="expr v"];
- N9[label="expr 20"];
- N10[label="expr v[20]"];
- N11[label="stmt v[20];"];
- N12[label="block { let v = [2, 0, 20]; v[20]; }"];
- N13[label="expr { let v = [2, 0, 20]; v[20]; }"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N11;
- N11 -> N12;
- N12 -> N13;
- N13 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub fn expr_index_20() {
- let v = [2, 0, 20];
- v[20];
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 15"];
- N3[label="local mut x"];
- N4[label="stmt let mut x = 15;"];
- N5[label="expr 151"];
- N6[label="local mut y"];
- N7[label="stmt let mut y = 151;"];
- N8[label="(dummy_node)"];
- N9[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l y -= 3;\l x -= 5;\l }\l \"unreachable\";\l }\l"];
- N10[label="(dummy_node)"];
- N11[label="expr \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l y -= 3;\l x -= 5;\l }\l"];
- N12[label="expr x"];
- N13[label="expr 1"];
- N14[label="expr x == 1"];
- N15[label="expr break \'outer"];
- N16[label="(dummy_node)"];
- N17[label="stmt break \'outer ;"];
- N18[label="expr \"unreachable\""];
- N19[label="stmt \"unreachable\";"];
- N20[label="block { break \'outer ; \"unreachable\"; }"];
- N21[label="expr if x == 1 { break \'outer ; \"unreachable\"; }"];
- N22[label="stmt if x == 1 { break \'outer ; \"unreachable\"; }"];
- N23[label="expr y"];
- N24[label="expr 2"];
- N25[label="expr y >= 2"];
- N26[label="expr return"];
- N27[label="(dummy_node)"];
- N28[label="stmt return;"];
- N29[label="expr \"unreachable\""];
- N30[label="stmt \"unreachable\";"];
- N31[label="block { return; \"unreachable\"; }"];
- N32[label="expr if y >= 2 { return; \"unreachable\"; }"];
- N33[label="stmt if y >= 2 { return; \"unreachable\"; }"];
- N34[label="expr 3"];
- N35[label="expr y"];
- N36[label="expr y -= 3"];
- N37[label="stmt y -= 3;"];
- N38[label="expr 5"];
- N39[label="expr x"];
- N40[label="expr x -= 5"];
- N41[label="stmt x -= 5;"];
- N42[label="block {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l y -= 3;\l x -= 5;\l}\l"];
- N43[label="stmt \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l y -= 3;\l x -= 5;\l }\l"];
- N44[label="expr \"unreachable\""];
- N45[label="stmt \"unreachable\";"];
- N46[label="block {\l \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l y -= 3;\l x -= 5;\l }\l \"unreachable\";\l}\l"];
- N47[label="block {\l let mut x = 15;\l let mut y = 151;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l y -= 3;\l x -= 5;\l }\l \"unreachable\";\l }\l}\l"];
- N48[label="expr {\l let mut x = 15;\l let mut y = 151;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { break \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l y -= 3;\l x -= 5;\l }\l \"unreachable\";\l }\l}\l"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N10;
- N10 -> N12;
- N12 -> N13;
- N13 -> N14;
- N14 -> N15;
- N15 -> N9;
- N16 -> N17;
- N17 -> N18;
- N18 -> N19;
- N19 -> N20;
- N14 -> N21;
- N20 -> N21;
- N21 -> N22;
- N22 -> N23;
- N23 -> N24;
- N24 -> N25;
- N25 -> N26;
- N26 -> N1;
- N27 -> N28;
- N28 -> N29;
- N29 -> N30;
- N30 -> N31;
- N25 -> N32;
- N31 -> N32;
- N32 -> N33;
- N33 -> N34;
- N34 -> N35;
- N35 -> N36;
- N36 -> N37;
- N37 -> N38;
- N38 -> N39;
- N39 -> N40;
- N40 -> N41;
- N41 -> N42;
- N42 -> N10;
- N11 -> N43;
- N43 -> N44;
- N44 -> N45;
- N45 -> N46;
- N46 -> N8;
- N9 -> N47;
- N47 -> N48;
- N48 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[allow(unreachable_code)]
-pub fn expr_break_label_21() {
- let mut x = 15;
- let mut y = 151;
- 'outer: loop {
- 'inner: loop {
- if x == 1 {
- break 'outer;
- "unreachable";
- }
- if y >= 2 {
- return;
- "unreachable";
- }
- y -= 3;
- x -= 5;
- }
- "unreachable";
- }
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 15"];
- N3[label="local mut x"];
- N4[label="stmt let mut x = 15;"];
- N5[label="expr 151"];
- N6[label="local mut y"];
- N7[label="stmt let mut y = 151;"];
- N8[label="(dummy_node)"];
- N9[label="expr \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l x -= 1;\l y -= 3;\l }\l \"unreachable\";\l }\l"];
- N10[label="(dummy_node)"];
- N11[label="expr \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l x -= 1;\l y -= 3;\l }\l"];
- N12[label="expr x"];
- N13[label="expr 1"];
- N14[label="expr x == 1"];
- N15[label="expr continue \'outer"];
- N16[label="(dummy_node)"];
- N17[label="stmt continue \'outer ;"];
- N18[label="expr \"unreachable\""];
- N19[label="stmt \"unreachable\";"];
- N20[label="block { continue \'outer ; \"unreachable\"; }"];
- N21[label="expr if x == 1 { continue \'outer ; \"unreachable\"; }"];
- N22[label="stmt if x == 1 { continue \'outer ; \"unreachable\"; }"];
- N23[label="expr y"];
- N24[label="expr 2"];
- N25[label="expr y >= 2"];
- N26[label="expr return"];
- N27[label="(dummy_node)"];
- N28[label="stmt return;"];
- N29[label="expr \"unreachable\""];
- N30[label="stmt \"unreachable\";"];
- N31[label="block { return; \"unreachable\"; }"];
- N32[label="expr if y >= 2 { return; \"unreachable\"; }"];
- N33[label="stmt if y >= 2 { return; \"unreachable\"; }"];
- N34[label="expr 1"];
- N35[label="expr x"];
- N36[label="expr x -= 1"];
- N37[label="stmt x -= 1;"];
- N38[label="expr 3"];
- N39[label="expr y"];
- N40[label="expr y -= 3"];
- N41[label="stmt y -= 3;"];
- N42[label="block {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l x -= 1;\l y -= 3;\l}\l"];
- N43[label="stmt \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l x -= 1;\l y -= 3;\l }\l"];
- N44[label="expr \"unreachable\""];
- N45[label="stmt \"unreachable\";"];
- N46[label="block {\l \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l x -= 1;\l y -= 3;\l }\l \"unreachable\";\l}\l"];
- N47[label="stmt \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l x -= 1;\l y -= 3;\l }\l \"unreachable\";\l }\l"];
- N48[label="expr \"unreachable\""];
- N49[label="stmt \"unreachable\";"];
- N50[label="block {\l let mut x = 15;\l let mut y = 151;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l x -= 1;\l y -= 3;\l }\l \"unreachable\";\l }\l \"unreachable\";\l}\l"];
- N51[label="expr {\l let mut x = 15;\l let mut y = 151;\l \'outer:\l loop {\l \'inner:\l loop {\l if x == 1 { continue \'outer ; \"unreachable\"; }\l if y >= 2 { return; \"unreachable\"; }\l x -= 1;\l y -= 3;\l }\l \"unreachable\";\l }\l \"unreachable\";\l}\l"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N10;
- N10 -> N12;
- N12 -> N13;
- N13 -> N14;
- N14 -> N15;
- N15 -> N8;
- N16 -> N17;
- N17 -> N18;
- N18 -> N19;
- N19 -> N20;
- N14 -> N21;
- N20 -> N21;
- N21 -> N22;
- N22 -> N23;
- N23 -> N24;
- N24 -> N25;
- N25 -> N26;
- N26 -> N1;
- N27 -> N28;
- N28 -> N29;
- N29 -> N30;
- N30 -> N31;
- N25 -> N32;
- N31 -> N32;
- N32 -> N33;
- N33 -> N34;
- N34 -> N35;
- N35 -> N36;
- N36 -> N37;
- N37 -> N38;
- N38 -> N39;
- N39 -> N40;
- N40 -> N41;
- N41 -> N42;
- N42 -> N10;
- N11 -> N43;
- N43 -> N44;
- N44 -> N45;
- N45 -> N46;
- N46 -> N8;
- N9 -> N47;
- N47 -> N48;
- N48 -> N49;
- N49 -> N50;
- N50 -> N51;
- N51 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[allow(unreachable_code)]
-pub fn expr_break_label_21() {
- let mut x = 15;
- let mut y = 151;
- 'outer: loop {
- 'inner: loop {
- if x == 1 {
- continue 'outer;
- "unreachable";
- }
- if y >= 2 {
- return;
- "unreachable";
- }
- x -= 1;
- y -= 3;
- }
- "unreachable";
- }
- "unreachable";
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 23"];
- N3[label="local mut x"];
- N4[label="stmt let mut x = 23;"];
- N5[label="expr 23"];
- N6[label="local mut y"];
- N7[label="stmt let mut y = 23;"];
- N8[label="expr 23"];
- N9[label="local mut z"];
- N10[label="stmt let mut z = 23;"];
- N11[label="(dummy_node)"];
- N12[label="expr while x > 0 {\l x -= 1;\l while y > 0 {\l y -= 1;\l while z > 0 { z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l}\l"];
- N13[label="expr x"];
- N14[label="expr 0"];
- N15[label="expr x > 0"];
- N16[label="expr 1"];
- N17[label="expr x"];
- N18[label="expr x -= 1"];
- N19[label="stmt x -= 1;"];
- N20[label="(dummy_node)"];
- N21[label="expr while y > 0 {\l y -= 1;\l while z > 0 { z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l}\l"];
- N22[label="expr y"];
- N23[label="expr 0"];
- N24[label="expr y > 0"];
- N25[label="expr 1"];
- N26[label="expr y"];
- N27[label="expr y -= 1"];
- N28[label="stmt y -= 1;"];
- N29[label="(dummy_node)"];
- N30[label="expr while z > 0 { z -= 1; }"];
- N31[label="expr z"];
- N32[label="expr 0"];
- N33[label="expr z > 0"];
- N34[label="expr 1"];
- N35[label="expr z"];
- N36[label="expr z -= 1"];
- N37[label="stmt z -= 1;"];
- N38[label="block { z -= 1; }"];
- N39[label="stmt while z > 0 { z -= 1; }"];
- N40[label="expr x"];
- N41[label="expr 10"];
- N42[label="expr x > 10"];
- N43[label="expr return"];
- N44[label="(dummy_node)"];
- N45[label="stmt return;"];
- N46[label="expr \"unreachable\""];
- N47[label="stmt \"unreachable\";"];
- N48[label="block { return; \"unreachable\"; }"];
- N49[label="expr if x > 10 { return; \"unreachable\"; }"];
- N50[label="block { y -= 1; while z > 0 { z -= 1; } if x > 10 { return; \"unreachable\"; } }"];
- N51[label="block {\l x -= 1;\l while y > 0 {\l y -= 1;\l while z > 0 { z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l}\l"];
- N52[label="block {\l let mut x = 23;\l let mut y = 23;\l let mut z = 23;\l while x > 0 {\l x -= 1;\l while y > 0 {\l y -= 1;\l while z > 0 { z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l }\l}\l"];
- N53[label="expr {\l let mut x = 23;\l let mut y = 23;\l let mut z = 23;\l while x > 0 {\l x -= 1;\l while y > 0 {\l y -= 1;\l while z > 0 { z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l }\l}\l"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N11;
- N11 -> N13;
- N13 -> N14;
- N14 -> N15;
- N15 -> N12;
- N15 -> N16;
- N16 -> N17;
- N17 -> N18;
- N18 -> N19;
- N19 -> N20;
- N20 -> N22;
- N22 -> N23;
- N23 -> N24;
- N24 -> N21;
- N24 -> N25;
- N25 -> N26;
- N26 -> N27;
- N27 -> N28;
- N28 -> N29;
- N29 -> N31;
- N31 -> N32;
- N32 -> N33;
- N33 -> N30;
- N33 -> N34;
- N34 -> N35;
- N35 -> N36;
- N36 -> N37;
- N37 -> N38;
- N38 -> N29;
- N30 -> N39;
- N39 -> N40;
- N40 -> N41;
- N41 -> N42;
- N42 -> N43;
- N43 -> N1;
- N44 -> N45;
- N45 -> N46;
- N46 -> N47;
- N47 -> N48;
- N42 -> N49;
- N48 -> N49;
- N49 -> N50;
- N50 -> N20;
- N21 -> N51;
- N51 -> N11;
- N12 -> N52;
- N52 -> N53;
- N53 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[allow(unreachable_code)]
-pub fn expr_while_23() {
- let mut x = 23;
- let mut y = 23;
- let mut z = 23;
-
- while x > 0 {
- x -= 1;
-
- while y > 0 {
- y -= 1;
-
- while z > 0 { z -= 1; }
-
- if x > 10 {
- return;
- "unreachable";
- }
- }
- }
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 24"];
- N3[label="local mut x"];
- N4[label="stmt let mut x = 24;"];
- N5[label="expr 24"];
- N6[label="local mut y"];
- N7[label="stmt let mut y = 24;"];
- N8[label="expr 24"];
- N9[label="local mut z"];
- N10[label="stmt let mut z = 24;"];
- N11[label="(dummy_node)"];
- N12[label="expr loop {\l if x == 0 { break ; \"unreachable\"; }\l x -= 1;\l loop {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l}\l"];
- N13[label="expr x"];
- N14[label="expr 0"];
- N15[label="expr x == 0"];
- N16[label="expr break"];
- N17[label="(dummy_node)"];
- N18[label="stmt break ;"];
- N19[label="expr \"unreachable\""];
- N20[label="stmt \"unreachable\";"];
- N21[label="block { break ; \"unreachable\"; }"];
- N22[label="expr if x == 0 { break ; \"unreachable\"; }"];
- N23[label="stmt if x == 0 { break ; \"unreachable\"; }"];
- N24[label="expr 1"];
- N25[label="expr x"];
- N26[label="expr x -= 1"];
- N27[label="stmt x -= 1;"];
- N28[label="(dummy_node)"];
- N29[label="expr loop {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l}\l"];
- N30[label="expr y"];
- N31[label="expr 0"];
- N32[label="expr y == 0"];
- N33[label="expr break"];
- N34[label="(dummy_node)"];
- N35[label="stmt break ;"];
- N36[label="expr \"unreachable\""];
- N37[label="stmt \"unreachable\";"];
- N38[label="block { break ; \"unreachable\"; }"];
- N39[label="expr if y == 0 { break ; \"unreachable\"; }"];
- N40[label="stmt if y == 0 { break ; \"unreachable\"; }"];
- N41[label="expr 1"];
- N42[label="expr y"];
- N43[label="expr y -= 1"];
- N44[label="stmt y -= 1;"];
- N45[label="(dummy_node)"];
- N46[label="expr loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }"];
- N47[label="expr z"];
- N48[label="expr 0"];
- N49[label="expr z == 0"];
- N50[label="expr break"];
- N51[label="(dummy_node)"];
- N52[label="stmt break ;"];
- N53[label="expr \"unreachable\""];
- N54[label="stmt \"unreachable\";"];
- N55[label="block { break ; \"unreachable\"; }"];
- N56[label="expr if z == 0 { break ; \"unreachable\"; }"];
- N57[label="stmt if z == 0 { break ; \"unreachable\"; }"];
- N58[label="expr 1"];
- N59[label="expr z"];
- N60[label="expr z -= 1"];
- N61[label="stmt z -= 1;"];
- N62[label="block { if z == 0 { break ; \"unreachable\"; } z -= 1; }"];
- N63[label="stmt loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }"];
- N64[label="expr x"];
- N65[label="expr 10"];
- N66[label="expr x > 10"];
- N67[label="expr return"];
- N68[label="(dummy_node)"];
- N69[label="stmt return;"];
- N70[label="expr \"unreachable\""];
- N71[label="stmt \"unreachable\";"];
- N72[label="block { return; \"unreachable\"; }"];
- N73[label="expr if x > 10 { return; \"unreachable\"; }"];
- N74[label="block {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l}\l"];
- N75[label="block {\l if x == 0 { break ; \"unreachable\"; }\l x -= 1;\l loop {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l}\l"];
- N76[label="block {\l let mut x = 24;\l let mut y = 24;\l let mut z = 24;\l loop {\l if x == 0 { break ; \"unreachable\"; }\l x -= 1;\l loop {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l }\l}\l"];
- N77[label="expr {\l let mut x = 24;\l let mut y = 24;\l let mut z = 24;\l loop {\l if x == 0 { break ; \"unreachable\"; }\l x -= 1;\l loop {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { return; \"unreachable\"; }\l }\l }\l}\l"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N11;
- N11 -> N13;
- N13 -> N14;
- N14 -> N15;
- N15 -> N16;
- N16 -> N12;
- N17 -> N18;
- N18 -> N19;
- N19 -> N20;
- N20 -> N21;
- N15 -> N22;
- N21 -> N22;
- N22 -> N23;
- N23 -> N24;
- N24 -> N25;
- N25 -> N26;
- N26 -> N27;
- N27 -> N28;
- N28 -> N30;
- N30 -> N31;
- N31 -> N32;
- N32 -> N33;
- N33 -> N29;
- N34 -> N35;
- N35 -> N36;
- N36 -> N37;
- N37 -> N38;
- N32 -> N39;
- N38 -> N39;
- N39 -> N40;
- N40 -> N41;
- N41 -> N42;
- N42 -> N43;
- N43 -> N44;
- N44 -> N45;
- N45 -> N47;
- N47 -> N48;
- N48 -> N49;
- N49 -> N50;
- N50 -> N46;
- N51 -> N52;
- N52 -> N53;
- N53 -> N54;
- N54 -> N55;
- N49 -> N56;
- N55 -> N56;
- N56 -> N57;
- N57 -> N58;
- N58 -> N59;
- N59 -> N60;
- N60 -> N61;
- N61 -> N62;
- N62 -> N45;
- N46 -> N63;
- N63 -> N64;
- N64 -> N65;
- N65 -> N66;
- N66 -> N67;
- N67 -> N1;
- N68 -> N69;
- N69 -> N70;
- N70 -> N71;
- N71 -> N72;
- N66 -> N73;
- N72 -> N73;
- N73 -> N74;
- N74 -> N28;
- N29 -> N75;
- N75 -> N11;
- N12 -> N76;
- N76 -> N77;
- N77 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[allow(unreachable_code)]
-pub fn expr_while_24() {
- let mut x = 24;
- let mut y = 24;
- let mut z = 24;
-
- loop {
- if x == 0 { break; "unreachable"; }
- x -= 1;
-
- loop {
- if y == 0 { break; "unreachable"; }
- y -= 1;
-
- loop {
- if z == 0 { break; "unreachable"; }
- z -= 1;
- }
-
- if x > 10 {
- return;
- "unreachable";
- }
- }
- }
-}
+++ /dev/null
-digraph block {
- N0[label="entry"];
- N1[label="exit"];
- N2[label="expr 25"];
- N3[label="local mut x"];
- N4[label="stmt let mut x = 25;"];
- N5[label="expr 25"];
- N6[label="local mut y"];
- N7[label="stmt let mut y = 25;"];
- N8[label="expr 25"];
- N9[label="local mut z"];
- N10[label="stmt let mut z = 25;"];
- N11[label="(dummy_node)"];
- N12[label="expr \'a:\l loop {\l if x == 0 { break ; \"unreachable\"; }\l x -= 1;\l \'a:\l loop {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l \'a: loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { continue \'a ; \"unreachable\"; }\l }\l }\l"];
- N13[label="expr x"];
- N14[label="expr 0"];
- N15[label="expr x == 0"];
- N16[label="expr break"];
- N17[label="(dummy_node)"];
- N18[label="stmt break ;"];
- N19[label="expr \"unreachable\""];
- N20[label="stmt \"unreachable\";"];
- N21[label="block { break ; \"unreachable\"; }"];
- N22[label="expr if x == 0 { break ; \"unreachable\"; }"];
- N23[label="stmt if x == 0 { break ; \"unreachable\"; }"];
- N24[label="expr 1"];
- N25[label="expr x"];
- N26[label="expr x -= 1"];
- N27[label="stmt x -= 1;"];
- N28[label="(dummy_node)"];
- N29[label="expr \'a:\l loop {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l \'a: loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { continue \'a ; \"unreachable\"; }\l }\l"];
- N30[label="expr y"];
- N31[label="expr 0"];
- N32[label="expr y == 0"];
- N33[label="expr break"];
- N34[label="(dummy_node)"];
- N35[label="stmt break ;"];
- N36[label="expr \"unreachable\""];
- N37[label="stmt \"unreachable\";"];
- N38[label="block { break ; \"unreachable\"; }"];
- N39[label="expr if y == 0 { break ; \"unreachable\"; }"];
- N40[label="stmt if y == 0 { break ; \"unreachable\"; }"];
- N41[label="expr 1"];
- N42[label="expr y"];
- N43[label="expr y -= 1"];
- N44[label="stmt y -= 1;"];
- N45[label="(dummy_node)"];
- N46[label="expr \'a: loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }"];
- N47[label="expr z"];
- N48[label="expr 0"];
- N49[label="expr z == 0"];
- N50[label="expr break"];
- N51[label="(dummy_node)"];
- N52[label="stmt break ;"];
- N53[label="expr \"unreachable\""];
- N54[label="stmt \"unreachable\";"];
- N55[label="block { break ; \"unreachable\"; }"];
- N56[label="expr if z == 0 { break ; \"unreachable\"; }"];
- N57[label="stmt if z == 0 { break ; \"unreachable\"; }"];
- N58[label="expr 1"];
- N59[label="expr z"];
- N60[label="expr z -= 1"];
- N61[label="stmt z -= 1;"];
- N62[label="block { if z == 0 { break ; \"unreachable\"; } z -= 1; }"];
- N63[label="stmt \'a: loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }"];
- N64[label="expr x"];
- N65[label="expr 10"];
- N66[label="expr x > 10"];
- N67[label="expr continue \'a"];
- N68[label="(dummy_node)"];
- N69[label="stmt continue \'a ;"];
- N70[label="expr \"unreachable\""];
- N71[label="stmt \"unreachable\";"];
- N72[label="block { continue \'a ; \"unreachable\"; }"];
- N73[label="expr if x > 10 { continue \'a ; \"unreachable\"; }"];
- N74[label="block {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l \'a: loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { continue \'a ; \"unreachable\"; }\l}\l"];
- N75[label="block {\l if x == 0 { break ; \"unreachable\"; }\l x -= 1;\l \'a:\l loop {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l \'a: loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { continue \'a ; \"unreachable\"; }\l }\l}\l"];
- N76[label="block {\l let mut x = 25;\l let mut y = 25;\l let mut z = 25;\l \'a:\l loop {\l if x == 0 { break ; \"unreachable\"; }\l x -= 1;\l \'a:\l loop {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l \'a: loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { continue \'a ; \"unreachable\"; }\l }\l }\l}\l"];
- N77[label="expr {\l let mut x = 25;\l let mut y = 25;\l let mut z = 25;\l \'a:\l loop {\l if x == 0 { break ; \"unreachable\"; }\l x -= 1;\l \'a:\l loop {\l if y == 0 { break ; \"unreachable\"; }\l y -= 1;\l \'a: loop { if z == 0 { break ; \"unreachable\"; } z -= 1; }\l if x > 10 { continue \'a ; \"unreachable\"; }\l }\l }\l}\l"];
- N0 -> N2;
- N2 -> N3;
- N3 -> N4;
- N4 -> N5;
- N5 -> N6;
- N6 -> N7;
- N7 -> N8;
- N8 -> N9;
- N9 -> N10;
- N10 -> N11;
- N11 -> N13;
- N13 -> N14;
- N14 -> N15;
- N15 -> N16;
- N16 -> N12;
- N17 -> N18;
- N18 -> N19;
- N19 -> N20;
- N20 -> N21;
- N15 -> N22;
- N21 -> N22;
- N22 -> N23;
- N23 -> N24;
- N24 -> N25;
- N25 -> N26;
- N26 -> N27;
- N27 -> N28;
- N28 -> N30;
- N30 -> N31;
- N31 -> N32;
- N32 -> N33;
- N33 -> N29;
- N34 -> N35;
- N35 -> N36;
- N36 -> N37;
- N37 -> N38;
- N32 -> N39;
- N38 -> N39;
- N39 -> N40;
- N40 -> N41;
- N41 -> N42;
- N42 -> N43;
- N43 -> N44;
- N44 -> N45;
- N45 -> N47;
- N47 -> N48;
- N48 -> N49;
- N49 -> N50;
- N50 -> N46;
- N51 -> N52;
- N52 -> N53;
- N53 -> N54;
- N54 -> N55;
- N49 -> N56;
- N55 -> N56;
- N56 -> N57;
- N57 -> N58;
- N58 -> N59;
- N59 -> N60;
- N60 -> N61;
- N61 -> N62;
- N62 -> N45;
- N46 -> N63;
- N63 -> N64;
- N64 -> N65;
- N65 -> N66;
- N66 -> N67;
- N67 -> N28;
- N68 -> N69;
- N69 -> N70;
- N70 -> N71;
- N71 -> N72;
- N66 -> N73;
- N72 -> N73;
- N73 -> N74;
- N74 -> N28;
- N29 -> N75;
- N75 -> N11;
- N12 -> N76;
- N76 -> N77;
- N77 -> N1;
-}
+++ /dev/null
-// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[allow(unreachable_code)]
-pub fn expr_while_25() {
- let mut x = 25;
- let mut y = 25;
- let mut z = 25;
-
- 'a: loop {
- if x == 0 { break; "unreachable"; }
- x -= 1;
-
- 'a: loop {
- if y == 0 { break; "unreachable"; }
- y -= 1;
-
- 'a: loop {
- if z == 0 { break; "unreachable"; }
- z -= 1;
- }
-
- if x > 10 {
- continue 'a;
- "unreachable";
- }
- }
- }
-}