fsharp
fsharp copied to clipboard
The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
I want to open the discussion on **consumption** of .NET libraries built using C# source gen support https://learn.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/source-generators-overview . With every .NET version, more APIs use it and is part...
Patch 1
Fixes #19099 ## Checklist - [ ] Test cases added - [ ] Performance benchmarks added in case of performance changes - [ ] Release notes entry updated:
The release of F# 10 introduces to ability to mark an optional parameter as `[]` to avoid unnecessary heap allocation. However, due to some flaw of the type checker, one...
## Description Creates tooling to systematically profile and analyze F# compiler performance when compiling untyped `Assert.Equal` calls, which exhibit overhead due to expensive overload resolution. **Suite has been executed with...
Build and install VisualFSharpDebug.vsix VS still uses compiler exe from `C:\Program Files\Microsoft Visual Studio\18\Insiders\Common7\IDE\CommonExtensions\Microsoft\FSharp\Tools` which is now older than the FCS it has.
Compile and run the following: ```fsharp module Dispose open System open System.IO [] module Dispose = let inline action unit) and 'a :> IDisposable>(a: 'a) = a.Dispose() [] let main...
### Issue description I expect that type check in multi-match expressions eliminates nulls after check just like in simple match cases. ### Choose one or more from the following categories...
## Fix: Object expressions in struct types generate invalid IL with byref fields ### Plan - [x] 1. Understand the codebase structure and existing utilities - [x] 2. Add helper...
## Delegate Optional Parameters - Investigation Complete **Issue**: Delegates with `[]` and caller info attributes fail to compile ### Findings: After extensive investigation, the root cause is that `[]` with...
One more unit-test added.