diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d75d8401c03..e0c4349b26b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -128,7 +128,7 @@ extends: - script: eng\CIBuild.cmd -configuration $(_BuildConfig) -prepareMachine - -testAllButIntegration + -testAllButIntegrationAndAot -officialSkipTests $(SkipTests) /p:SignType=$(_SignType) /p:DotNetSignType=$(_SignType) diff --git a/docs/release-notes/.FSharp.Compiler.Service/8.0.400.md b/docs/release-notes/.FSharp.Compiler.Service/8.0.400.md index a130020cb7d..316c1975acf 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/8.0.400.md +++ b/docs/release-notes/.FSharp.Compiler.Service/8.0.400.md @@ -1,6 +1,7 @@ ### Fixed * Enforce `AttributeTargets` on records. ([PR #17207](https://github.com/dotnet/fsharp/pull/17207)) +* Fix internal error when dotting into delegates with multiple type parameters. ([PR #17227](https://github.com/dotnet/fsharp/pull/17227)) * Error for partial implementation of interface with static and non-static abstract members. ([Issue #17138](https://github.com/dotnet/fsharp/issues/17138), [PR #17160](https://github.com/dotnet/fsharp/pull/17160)) * Optimize simple mappings with preludes in computed collections. ([PR #17067](https://github.com/dotnet/fsharp/pull/17067)) * Improve error reporting for abstract members when used in classes. ([PR #17063](https://github.com/dotnet/fsharp/pull/17063)) @@ -25,4 +26,4 @@ * Minor compiler perf improvements. ([PR #17130](https://github.com/dotnet/fsharp/pull/17130)) * Improve error of Active Pattern case Argument Count Not Match ([PR #16846](https://github.com/dotnet/fsharp/pull/16846)) * AsyncLocal diagnostics context. ([PR #16779](https://github.com/dotnet/fsharp/pull/16779)) -* Reduce allocations in compiler checking via `ValueOption` usage ([PR #16822](https://github.com/dotnet/fsharp/pull/16822)) \ No newline at end of file +* Reduce allocations in compiler checking via `ValueOption` usage ([PR #16822](https://github.com/dotnet/fsharp/pull/16822)) diff --git a/eng/Build.ps1 b/eng/Build.ps1 index 470015bc32a..5f426f474f9 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -61,6 +61,7 @@ param ( [switch]$testVs, [switch]$testAll, [switch]$testAllButIntegration, + [switch]$testAllButIntegrationAndAot, [switch]$testpack, [switch]$testAOT, [switch]$testBenchmarks, @@ -104,6 +105,7 @@ function Print-Usage() { Write-Host "Test actions" Write-Host " -testAll Run all tests" Write-Host " -testAllButIntegration Run all but integration tests" + Write-Host " -testAllButIntegrationAndAot Run all but integration and AOT tests" Write-Host " -testCambridge Run Cambridge tests" Write-Host " -testCompiler Run FSharpCompiler unit tests" Write-Host " -testCompilerService Run FSharpCompilerService unit tests" @@ -170,9 +172,19 @@ function Process-Arguments() { $script:testAOT = $True } + if($testAllButIntegrationAndAot) { + $script:testDesktop = $True + $script:testCoreClr = $True + $script:testFSharpQA = $True + $script:testIntegration = $False + $script:testVs = $True + $script:testAOT = $False + } + if ([System.Boolean]::Parse($script:officialSkipTests)) { $script:testAll = $False $script:testAllButIntegration = $False + $script:testAllButIntegrationAndAot = $False $script:testCambridge = $False $script:testCompiler = $False $script:testCompilerService = $False @@ -219,7 +231,7 @@ function Process-Arguments() { else { $script:buildnorealsig = $False $env:FSHARP_REALSIG="true" - } + } if ($verifypackageshipstatus) { $script:verifypackageshipstatus = $True; } diff --git a/src/Compiler/Checking/NameResolution.fs b/src/Compiler/Checking/NameResolution.fs index 76a89601b9c..780824e3ead 100644 --- a/src/Compiler/Checking/NameResolution.fs +++ b/src/Compiler/Checking/NameResolution.fs @@ -1105,7 +1105,7 @@ let GetNestedTyconRefsOfType (infoReader: InfoReader) (amap: Import.ImportMap) ( /// Handle the .NET/C# business where nested generic types implicitly accumulate the type parameters /// from their enclosing types. let MakeNestedType (ncenv: NameResolver) (tinst: TType list) m (tcrefNested: TyconRef) = - let tps = match tcrefNested.Typars m with [] -> [] | l -> List.skip tinst.Length l + let tps = match tcrefNested.Typars m with [] -> [] | l -> l[tinst.Length..] let tinstNested = ncenv.InstantiationGenerator m tps mkAppTy tcrefNested (tinst @ tinstNested)