Skip to content

Spacing in printed and generated signatures doesn't follow F# style guide #12090

@dsyme

Description

@dsyme

The spacing we emit is inconsistent with the F# style guide https://docs.microsoft.com/en-us/dotnet/fsharp/style-guide/formatting#type-annotations

  • Don't put a space before a colon, e.g. in val x: int.
  • Do put a space between parameter name and type , e.g. val f: arg1: int -> arg2: int -> int

Exceptions for visual clarity are

  • Put space after > for let v<'T> : int
  • Put space when annotating the return type of a function/method, let f x : int = 1
  • Put space after ) e.g. let (+) : int -> int -> int
  • Put space for after a ` backtick, e.g. let ``a thing`` : int = 1

Fixing this unfortunately involves updating hundreds of test cases, but hey

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions