fsprojects / fantomas

FSharp source code formatter
https://fsprojects.github.io/fantomas
Other
764 stars 190 forks source link

Setter is also private #2902

Closed nojaf closed 1 year ago

nojaf commented 1 year ago

Issue created from fantomas-online

Code

module Telplin

type T =
    struct
        member private this.X with get () : int = 1 and set (_:int) = ()
    end

Result

module Telplin

type T =
    struct
        member this.X
            with private get (): int = 1
            and private set (_: int) = ()
    end

Problem description

Something is wrong with ASTTransformer. The set binding should not be private.

Extra information

Options

Fantomas main branch at 2023-06-08T13:47:44Z - 4f2f9c1e3dc89240707970ff62d2713ea1c91c71

Default Fantomas configuration

Did you know that you can ignore files when formatting by using a .fantomasignore file? PS: It's unlikely that someone else will solve your specific issue, as it's something that you have a personal stake in.

nojaf commented 1 year ago

The second private is actually irrelevant and should be avoided.

See: 558,parsMultipleAccessibilitiesForGetSet,"Multiple accessibilities given for property getter or setter"

Sample