Skip to content
This repository was archived by the owner on Oct 31, 2021. It is now read-only.
This repository was archived by the owner on Oct 31, 2021. It is now read-only.

Formatting removes methods from a struct type #1459

@nightroman

Description

@nightroman

The original code before formatting (note the position of end, if it is after
the methods then methods are not removed on formatting):

    namespace NRText
    open System

    /// Text source record.
    /// Name : Source (file) name.
    /// LineNumber : 1-based line number.
    /// CharNumber : 1-based character number.
    type TextSource =
        struct
            val Name : string
            val LineNumber : int
            val CharNumber : int
            new (name, lineNumber) = { Name = name; LineNumber = lineNumber; CharNumber = 1 }
        end

        member x.TextAsPowerShell() =
            if x.CharNumber = 0 then
                sprintf "At %s:%d" x.Name x.LineNumber
            else
                sprintf "At %s:%d char:%d" x.Name x.LineNumber x.CharNumber

        member x.TextAsVisualStudio() =
            if x.CharNumber = 0 then
                sprintf "%s(%d)" x.Name x.LineNumber
            else
                sprintf "%s(%d,%d)" x.Name x.LineNumber x.CharNumber

        override x.ToString() =
            x.TextAsVisualStudio()

The code after formatting, all methods are gone:

    namespace NRText

    open System

    /// Text source record.
    /// Name : Source (file) name.
    /// LineNumber : 1-based line number.
    /// CharNumber : 1-based character number.
    type TextSource =
        struct
            val Name : string
            val LineNumber : int
            val CharNumber : int
            new(name, lineNumber) =
                { Name = name
                  LineNumber = lineNumber
                  CharNumber = 1 }
        end

Metadata

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