error[E0597]: `factorial` does not live long enough
  --> $DIR/unboxed-closures-failed-recursive-fn-1.rs:15:17
   |
LL |     let f = |x: u32| -> u32 {
   |             --------------- value captured here
LL |         let g = factorial.as_ref().unwrap();
   |                 ^^^^^^^^^ borrowed value does not live long enough
...
LL | }
   | -
   | |
   | `factorial` dropped here while still borrowed
   | borrow might be used here, when `factorial` is dropped and runs the destructor for type `std::option::Option<std::boxed::Box<dyn std::ops::Fn(u32) -> u32>>`

error[E0506]: cannot assign to `factorial` because it is borrowed
  --> $DIR/unboxed-closures-failed-recursive-fn-1.rs:20:5
   |
LL |     let f = |x: u32| -> u32 {
   |             --------------- borrow of `factorial` occurs here
LL |         let g = factorial.as_ref().unwrap();
   |                 --------- borrow occurs due to use in closure
...
LL |     factorial = Some(Box::new(f));
   |     ^^^^^^^^^
   |     |
   |     assignment to borrowed `factorial` occurs here
   |     borrow later used here

error[E0597]: `factorial` does not live long enough
  --> $DIR/unboxed-closures-failed-recursive-fn-1.rs:28:17
   |
LL |     let mut factorial: Option<Box<dyn Fn(u32) -> u32 + 'static>> = None;
   |                        ----------------------------------------- type annotation requires that `factorial` is borrowed for `'static`
LL | 
LL |     let f = |x: u32| -> u32 {
   |             --------------- value captured here
LL |         let g = factorial.as_ref().unwrap();
   |                 ^^^^^^^^^ borrowed value does not live long enough
...
LL | }
   | - `factorial` dropped here while still borrowed

error[E0506]: cannot assign to `factorial` because it is borrowed
  --> $DIR/unboxed-closures-failed-recursive-fn-1.rs:33:5
   |
LL |     let mut factorial: Option<Box<dyn Fn(u32) -> u32 + 'static>> = None;
   |                        ----------------------------------------- type annotation requires that `factorial` is borrowed for `'static`
LL | 
LL |     let f = |x: u32| -> u32 {
   |             --------------- borrow of `factorial` occurs here
LL |         let g = factorial.as_ref().unwrap();
   |                 --------- borrow occurs due to use in closure
...
LL |     factorial = Some(Box::new(f));
   |     ^^^^^^^^^ assignment to borrowed `factorial` occurs here

error: aborting due to 4 previous errors

Some errors have detailed explanations: E0506, E0597.
For more information about an error, try `rustc --explain E0506`.
