Skip to content

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

@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

    C-bugCategory: this is a bug; use also I-* labels for specific bug kinds, e.g. I-non-idempotency or I-ICE

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions