X-Git-Url: https://git.ralfj.de/rust-101.git/blobdiff_plain/188b1ec1b8528e2326791feccc8077e15bd60182..8d47c63ac79f7dee6c96f37902ab98c7d1464ff3:/workspace/src/part11.rs diff --git a/workspace/src/part11.rs b/workspace/src/part11.rs index ac19371..a93ad07 100644 --- a/workspace/src/part11.rs +++ b/workspace/src/part11.rs @@ -23,7 +23,7 @@ impl Callbacks { // Registration simply stores the callback. pub fn register(&mut self, callback: Box) { - unimplemented!() + self.callbacks.push(callback); } // We can also write a generic version of `register`, such that it will be instantiated with some concrete closure type `F` @@ -59,7 +59,7 @@ pub fn main() { } -// **Exercise 11.1**: We made the arbitrary choice of using `i32` for the arguments. Generalize the data-structures above +// **Exercise 11.1**: We made the arbitrary choice of using `i32` for the arguments. Generalize the data structures above // to work with an arbitrary type `T` that's passed to the callbacks. Since you need to call multiple callbacks with the -// same `t: T`, you will either have to restrict `T` to `Copy` types, or pass a borrow. +// same `t: T`, you will either have to restrict `T` to `Copy` types, or pass a reference.