Content-Length: 13338 | pFad | https://doc.rust-lang.org/reference/../../std/../error_codes/./E0183.html

E0183 - Error codes index

Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Error code E0183

Manual implementation of a Fn* trait.

Erroneous code example:

#![allow(unused)]
fn main() {
struct MyClosure {
    foo: i32
}

impl FnOnce<()> for MyClosure {  // error
    type Output = ();
    extern "rust-call" fn call_once(self, args: ()) -> Self::Output {
        println!("{}", self.foo);
    }
}
}

Manually implementing Fn, FnMut or FnOnce is unstable and requires #![feature(fn_traits, unboxed_closures)].

#![allow(unused)]
#![feature(fn_traits, unboxed_closures)]

fn main() {
struct MyClosure {
    foo: i32
}

impl FnOnce<()> for MyClosure {  // ok!
    type Output = ();
    extern "rust-call" fn call_once(self, args: ()) -> Self::Output {
        println!("{}", self.foo);
    }
}
}

The arguments must be a tuple representing the argument list. For more info, see the tracking issue:









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://doc.rust-lang.org/reference/../../std/../error_codes/./E0183.html

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy