]>
git.proxmox.com Git - rustc.git/blob - src/test/ui/unboxed-closures/unboxed-closures-fnmut-as-fnonce.rs
2 // Checks that the Fn trait hierarchy rules permit
3 // FnMut or FnOnce to be used where FnMut is implemented.
5 #![feature(unboxed_closures, fn_traits)]
9 impl FnMut
<(i32,)> for S
{
10 extern "rust-call" fn call_mut(&mut self, (x
,): (i32,)) -> i32 {
15 impl FnOnce
<(i32,)> for S
{
18 extern "rust-call" fn call_once(mut self, args
: (i32,)) -> i32 { self.call_mut(args) }
21 fn call_it_mut
<F
:FnMut(i32)->i32>(f
: &mut F
, x
: i32) -> i32 {
25 fn call_it_once
<F
:FnOnce(i32)->i32>(f
: F
, x
: i32) -> i32 {
30 let y
= call_it_mut(&mut S
, 22);
31 let z
= call_it_once(S
, 22);