]> git.proxmox.com Git - rustc.git/blame - src/test/ui/expr-fn.rs
New upstream version 1.44.1+dfsg1
[rustc.git] / src / test / ui / expr-fn.rs
CommitLineData
416331ca 1// run-pass
ba9703b0 2#![allow(unused_braces)]
416331ca 3
223e47cc 4fn test_int() {
c34b1796 5 fn f() -> isize { 10 }
970d7e83 6 assert_eq!(f(), 10);
223e47cc
LB
7}
8
9fn test_vec() {
c30ab7b3 10 fn f() -> Vec<isize> { vec![10, 11] }
1a4d82fc
JJ
11 let vect = f();
12 assert_eq!(vect[1], 11);
223e47cc
LB
13}
14
15fn test_generic() {
1a4d82fc 16 fn f<T>(t: T) -> T { t }
85aaf69f 17 assert_eq!(f(10), 10);
223e47cc
LB
18}
19
20fn test_alt() {
c34b1796 21 fn f() -> isize { match true { false => { 10 } true => { 20 } } }
970d7e83 22 assert_eq!(f(), 20);
223e47cc
LB
23}
24
25fn test_if() {
c34b1796 26 fn f() -> isize { if true { 10 } else { 20 } }
970d7e83 27 assert_eq!(f(), 10);
223e47cc
LB
28}
29
30fn test_block() {
c34b1796 31 fn f() -> isize { { 10 } }
970d7e83 32 assert_eq!(f(), 10);
223e47cc
LB
33}
34
35fn test_ret() {
c34b1796 36 fn f() -> isize {
223e47cc
LB
37 return 10 // no semi
38
39 }
970d7e83 40 assert_eq!(f(), 10);
223e47cc
LB
41}
42
43
44// From issue #372
45fn test_372() {
c34b1796 46 fn f() -> isize { let x = { 3 }; x }
970d7e83 47 assert_eq!(f(), 3);
223e47cc
LB
48}
49
50fn test_nil() { () }
51
52pub fn main() {
53 test_int();
54 test_vec();
55 test_generic();
56 test_alt();
57 test_if();
58 test_block();
59 test_ret();
60 test_372();
61 test_nil();
62}