Skip to content

Commit 6b41bde

Browse files
committed
output-slot-variants
1 parent 12128e6 commit 6b41bde

File tree

1 file changed

+32
-22
lines changed

1 file changed

+32
-22
lines changed
Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,48 @@
1+
//! Check that output slots work correctly for both initializing and non-initializing assignments.
2+
//!
3+
//! Regression test for <https://github.com/rust-lang/rust/issues/24>.
4+
15
//@ run-pass
26

37
#![allow(dead_code)]
48
#![allow(unused_assignments)]
59
#![allow(unknown_lints)]
6-
710
#![allow(dead_assignment)]
811
#![allow(unused_variables)]
912

10-
struct A { a: isize, b: isize }
11-
struct Abox { a: Box<isize>, b: Box<isize> }
13+
struct A {
14+
a: isize,
15+
b: isize,
16+
}
1217

13-
fn ret_int_i() -> isize { 10 }
18+
struct Abox {
19+
a: Box<isize>,
20+
b: Box<isize>,
21+
}
1422

15-
fn ret_ext_i() -> Box<isize> { Box::new(10) }
23+
fn ret_int_i() -> isize {
24+
10
25+
}
1626

17-
fn ret_int_rec() -> A { A {a: 10, b: 10} }
27+
fn ret_ext_i() -> Box<isize> {
28+
Box::new(10)
29+
}
1830

19-
fn ret_ext_rec() -> Box<A> { Box::new(A {a: 10, b: 10}) }
31+
fn ret_int_rec() -> A {
32+
A { a: 10, b: 10 }
33+
}
2034

21-
fn ret_ext_mem() -> Abox { Abox {a: Box::new(10), b: Box::new(10) } }
35+
fn ret_ext_rec() -> Box<A> {
36+
Box::new(A { a: 10, b: 10 })
37+
}
38+
39+
fn ret_ext_mem() -> Abox {
40+
Abox { a: Box::new(10), b: Box::new(10) }
41+
}
2242

23-
fn ret_ext_ext_mem() -> Box<Abox> { Box::new(Abox{a: Box::new(10), b: Box::new(10) }) }
43+
fn ret_ext_ext_mem() -> Box<Abox> {
44+
Box::new(Abox { a: Box::new(10), b: Box::new(10) })
45+
}
2446

2547
pub fn main() {
2648
let mut int_i: isize;
@@ -29,40 +51,28 @@ pub fn main() {
2951
let mut ext_rec: Box<A>;
3052
let mut ext_mem: Abox;
3153
let mut ext_ext_mem: Box<Abox>;
32-
int_i = ret_int_i(); // initializing
3354

55+
int_i = ret_int_i(); // initializing
3456
int_i = ret_int_i(); // non-initializing
35-
3657
int_i = ret_int_i(); // non-initializing
3758

3859
ext_i = ret_ext_i(); // initializing
39-
4060
ext_i = ret_ext_i(); // non-initializing
41-
4261
ext_i = ret_ext_i(); // non-initializing
4362

4463
int_rec = ret_int_rec(); // initializing
45-
4664
int_rec = ret_int_rec(); // non-initializing
47-
4865
int_rec = ret_int_rec(); // non-initializing
4966

5067
ext_rec = ret_ext_rec(); // initializing
51-
5268
ext_rec = ret_ext_rec(); // non-initializing
53-
5469
ext_rec = ret_ext_rec(); // non-initializing
5570

5671
ext_mem = ret_ext_mem(); // initializing
57-
5872
ext_mem = ret_ext_mem(); // non-initializing
59-
6073
ext_mem = ret_ext_mem(); // non-initializing
6174

6275
ext_ext_mem = ret_ext_ext_mem(); // initializing
63-
6476
ext_ext_mem = ret_ext_ext_mem(); // non-initializing
65-
6677
ext_ext_mem = ret_ext_ext_mem(); // non-initializing
67-
6878
}

0 commit comments

Comments
 (0)