Skip to content

Inline keyword in member is lost in signature #15406

@nojaf

Description

@nojaf

When generating a signature file the result is somewhat unexpected.

Repro steps

module Meh

type Foo() =
    member inline this.Item
        with get (i:int,j: char) : string = ""
        and set (i:int,j: char) (x:string) = printfn "%i %c" i j

leads to

module Meh

type Foo =
  
  new: unit -> Foo
  
  member Item: i: int * j: char -> string with get

Expected behaviour

It needs the inline keyword. There is also no setter, but that is a separate issue.

Actual behaviour

Module 'Meh' contains� member Foo.Item: i: int * j: char -> string with get �but its signature specifies� member Foo.Item: i: int * j: char -> string with get �The inline flags differ

Related information

FCS: FSharpCheckFileResults.GenerateSignature

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-Compiler-SigFileGengeneration of signature files - both compiler and IDEBugImpact-Low(Internal MS Team use only) Describes an issue with limited impact on existing code.

    Type

    No type

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions