Skip to content

Idempotency problem with recursive types in FSI #1605

Closed
@Smaug123

Description

Issue created from fantomas-online

Formatted code

namespace Test

///
type Foo =
    ///
    | Bar

///
and internal Hi<'a> =
    ///
    abstract Apply<'b> : Foo -> 'b


///
and [<CustomEquality>] Bang =
    internal
        {
            LongNameBarBarBarBarBarBarBar: int
        }
        ///
        override GetHashCode : unit -> int

Reformatted code

namespace Test

///
type Foo =
    ///
    | Bar

///
and internal Hi<'a> =
    ///
    abstract Apply<'b> : Foo -> 'b



///
and [<CustomEquality>] Bang =
    internal
        {
            LongNameBarBarBarBarBarBarBar: int
        }
        ///
        override GetHashCode : unit -> int

Problem description

Fantomas was not able to produce the same code after reformatting the result.

I haven't been able to make this example any smaller, I'm afraid. Fantomas reformats by adding an extra line above the last type definition.

Extra information

  • The formatted result breaks by code.
  • The formatted result gives compiler warnings.
  • I or my company would be willing to help fix this.

Options

Fantomas Master at 04/05/2021 16:09:34 - 31922c0

    { config with
                MultilineBlockBracketsOnSameColumn = true }

Signature file

Did you know that you can ignore files when formatting from fantomas-tool or the FAKE targets by using a .fantomasignore file?

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions