File tree 3 files changed +36
-6
lines changed
3 files changed +36
-6
lines changed Original file line number Diff line number Diff line change @@ -15,10 +15,4 @@ fn main() {
15
15
let mut a = 0u8 ;
16
16
let foo: fn ( u8 ) -> u8 = |v : u8 | { a += v; a } ;
17
17
//~^ ERROR mismatched types
18
- let b = 0u8 ;
19
- let bar: fn ( ) -> u8 = || { b } ;
20
- //~^ ERROR mismatched types
21
- let baz: fn ( ) -> u8 = || { b } as fn ( ) -> u8 ;
22
- //~^ ERROR mismatched types
23
- //~^^ ERROR non-scalar cast
24
18
}
Original file line number Diff line number Diff line change
1
+ // Copyright 2017 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
+
11
+ // Ensure that capturing closures are never coerced to fns
12
+ // Especially interesting as non-capturing closures can be.
13
+
14
+ fn main ( ) {
15
+ let b = 0u8 ;
16
+ let bar: fn ( ) -> u8 = || { b } ;
17
+ //~^ ERROR mismatched types
18
+ }
Original file line number Diff line number Diff line change
1
+ // Copyright 2017 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
+
11
+ // Ensure that capturing closures are never coerced to fns
12
+ // Especially interesting as non-capturing closures can be.
13
+
14
+ fn main ( ) {
15
+ let b = 0u8 ;
16
+ let baz: fn ( ) -> u8 = ( || { b } ) as fn ( ) -> u8 ;
17
+ //~^ ERROR non-scalar cast
18
+ }
You can’t perform that action at this time.
0 commit comments