I have a function ```rust fn make_lazy(f: fn() -> fn(u8) -> u8) -> impl Fn(u8) -> u8 { Box::new(move |x| f()(x)) } ``` Running `rustfmt --check` (`rustfmt 1.2.2-nightly (5274b49c 2019-04-24)`) yeilds ```rust fn make_lazy(f: fn() -> fn(u8) -> fn(u8) -> u8) -> impl Fn(u8) -> u8 { Box::new(move |x| f()(x)) } ``` `fn(u8) ->` is duplicated. * `fn() -> (fn(u8) -> u8)` yields `fn() -> (fn(u8) -> u8) -> (fn(u8) -> u8)` * `fn() -> impl Fn(u8) -> u8` yields `fn() -> impl Fn(u8) -> impl Fn(u8) -> u8` * `impl Fn() -> fn(u8) -> u8` is fine * `fn() -> u8` is also fine