fsharp
fsharp copied to clipboard
The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
**Is your feature request related to a problem? Please describe.** `FSharpType.Format` for a C#-defined nested type is incorrect when the parent type contains a generic parameter. The type annotation for...
C# 9 introduced the ability to override a virtual base member with a covariant return type. For instance, if a virtual method in `Class1` returns `object`, then an override of...
Consider this simple example: ```F# type MyType() = member x.DoNothing(d:MyType) = () let a = MyType() let b = new MyType() // alternative syntax a.DoNothing(b) ``` Try renaming MyType to...
**Repro steps** Provide the steps required to reproduce the problem: 1. Define a type with an abstract member having two parameters with the same name. 2. It compiles, generating unutterable...
When calling a method on a non type-specified numeric literal (e.g. `1.ToString()`), `fsi` outputs error FS1156, asking to better specify the numeric literal type. From that point onward, when inputting...
I was doing some work in FSAC with the Typed Tree, and tried to go-to-definition on a type that was defined in `Symbols\Exprs.fsi`, but go-to-definition failed with an error saying...
VS 20222 crashes somewhere within FSharp.Compiler.Service.ni.dll when you open a file containing an async function with too many lines of code. **Repro steps** 1. git clone https://github.com/stmax82/vs-crash.git 2. Open Kaputt.sln...
`SynPat.Named(range=range)` -> range doesn't include `accessibility` modifier (`public`, `internal`,`public`) **Repro steps** ```fsharp let private value = 42 // ^^^^^^^^^^^^^ SynPat.Named(ident="value"; accessibility=Some(Private)) // ^^^^^ range of SynPat.Named ``` [Ast](https://fsprojects.github.io/fantomas-tools/#/ast?data=N4KABGBEAmCmBmBLAdrAzpAXFSAacUiaAYmolmPAIYA2as%2BEkAxgPZwWQ2wAuYADgCdEANyo9YYMTQCukgLxgALACZIIAL5A): ``` Named(...
`SyntaxTraverse.Traverse(pos, ast, SyntaxVisitorBase)` passes `defaultTraverse` to all `visitor.VisitXXX(...)` -> implementation of `SyntaxVisitorBase` doesn't have to handle all Syntax constructs, but can pass current element on to `defaultTraverse`. But for `SynPat`s...
We have a test crashing with `StackOverlowException` on `macOS`: https://github.com/dotnet/fsharp/pull/13097 ([Logs](https://dev.azure.com/dnceng/public/_build/results?buildId=1753677&view=logs&j=7bab896a-24f8-544f-51eb-43745367a332&t=999dbed9-85e3-59ab-57f0-3e22828b5bad&l=2361)) In this test (it already has a comment, that it crashes with SO): https://github.com/dotnet/fsharp/blob/7de9637f8d7839c2312748dcbbabb4cda7455548/tests/FSharp.Compiler.ComponentTests/Conformance/RecordTypes/RecordTypes.fs#L29-L35 [Test file](https://github.com/dotnet/fsharp/blob/main/tests/FSharp.Compiler.ComponentTests/Conformance/RecordTypes/BigRecord01.fs) ```log The active...