| error[E0631]: type mismatch in closure arguments |
| --> $DIR/late-bound-in-borrow-closure-sugg.rs:26:24 |
| | |
| LL | let closure = |trader : Trader| { |
| | ----------------- found signature defined here |
| ... |
| LL | trader.set_closure(closure); |
| | ----------- ^^^^^^^ expected due to this |
| | | |
| | required by a bound introduced by this call |
| | |
| = note: expected closure signature `for<'a, 'b> fn(&'a mut Trader<'b>) -> _` |
| found closure signature `fn(Trader<'_>) -> _` |
| note: required by a bound in `Trader::<'a>::set_closure` |
| --> $DIR/late-bound-in-borrow-closure-sugg.rs:15:50 |
| | |
| LL | pub fn set_closure(&mut self, function: impl Fn(&mut Trader) + 'a) { |
| | ^^^^^^^^^^^^^^^ required by this bound in `Trader::<'a>::set_closure` |
| help: consider wrapping the function in a closure |
| | |
| LL | trader.set_closure(|arg0: &mut Trader<'_>| closure(*arg0)); |
| | +++++++++++++++++++++++ +++++++ |
| help: consider adjusting the signature so it borrows its argument |
| | |
| LL | let closure = |trader : &mut Trader| { |
| | ++++ |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0631`. |