Skip to content

fn() -> fn(u8) -> u8 is formatted as fn() -> fn(u8) -> fn(u8) -> u8 #3615

Closed
@projedi

Description

@projedi

I have a function

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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugPanic, non-idempotency, invalid code, etc.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions