Callbacks
Callback-Typen in Rust
Abschnitt betitelt „Callback-Typen in Rust“Betrachten Sie die Implementierung einer register-Funktion, die einen Callback auf zwei Arten entgegennimmt:
fn register1(cb: fn(Event) -> ());fn register2<F>(cb: F) where F: Fn(Event) -> ();Welche Typsignatur erlaubt es register, die größte Vielfalt an Argumenten zu akzeptieren?
Closures mit Umgebungen können an register2 übergeben werden, während nur Top-Level-Funktionen (oder Closures ohne Umgebungen) an register1 übergeben werden können.