Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
913f491
correct release notes link
baronfel Feb 10, 2020
6aa39f2
Remove AppHostRuntimeIdentifier from DM script (#8471)
KevinRansom Feb 5, 2020
9296b4f
[RFC FS-1075] Improve interop to C# nullable-typed optionals (#7989)
dsyme Feb 5, 2020
61acf88
Update fallback .Net Core TFM for script resolution to netcoreapp3.1 …
baronfel Feb 6, 2020
3f49b07
Remove redundant takeWhile
michalmocarski Nov 20, 2019
1385c19
Handle git beta indicators
KevinRansom Feb 7, 2020
3a5004f
A bunch of tests were incorrect
KevinRansom Feb 7, 2020
99a59e7
Feedback
KevinRansom Feb 7, 2020
a2ee308
Put back proper match
KevinRansom Feb 8, 2020
9af8c57
skip flaky tests in official builds (#8497)
brettfo Feb 7, 2020
353ee6d
cleanup and pre-prep for https://github.com/dotnet/fsharp/pull/6810 (…
dsyme Feb 7, 2020
c5e0749
Phillips original PR --- Add type name to error, if it's known, to un…
KevinRansom Feb 7, 2020
5e231fd
Merge pull request #8498 from KevinRansom/michalmocarski
KevinRansom Feb 8, 2020
7409333
Improve fsi printing/%A formatting (#7710)
saul Feb 8, 2020
53c11b8
Even more refactoring of DependencyManagerIntegration (#8518)
KevinRansom Feb 10, 2020
cf65c04
Use IEnumerable<string> rather than list string
KevinRansom Feb 10, 2020
6fa8701
Merge pull request #8535 from KevinRansom/usedotnettypes
KevinRansom Feb 11, 2020
c91df99
Add probing for netcoreapp3.1 tools and tps (#8543)
KevinRansom Feb 11, 2020
10ce701
Make Log*FunctionId types internal (#8556)
xdaDaveShaw Feb 12, 2020
8e4ead0
Update dependencies from https://github.com/dotnet/arcade build 20200…
dotnet-maestro[bot] Feb 13, 2020
c5e25c0
Merge pull request #8561 from dotnet/darc-master-19e00c9d-f7b6-44cb-8…
KevinRansom Feb 13, 2020
be14a61
Update dependencies from https://github.com/dotnet/arcade build 20200…
dotnet-maestro[bot] Feb 14, 2020
d2882af
Optimized find all references and reduced memory usage in VS (#8339)
TIHan Feb 14, 2020
46c2665
Merge pull request #8572 from dotnet/darc-master-8c0009a0-7f5d-49fe-b…
KevinRansom Feb 14, 2020
37575d6
bump release notes
baronfel Feb 14, 2020
4842127
improve compiler error message for failed overload resolution (#6596)
smoothdeveloper Feb 19, 2020
1cf4afa
bump release notes
baronfel Feb 19, 2020
b5fc8c6
Refactor integration (#8574)
KevinRansom Feb 19, 2020
e6be390
empty commit to bump CI
baronfel Feb 19, 2020
e6f782b
use dotnet push instead of paket push to sidestep pushing issues
baronfel Feb 20, 2020
21fc7b6
cleanup release notes
baronfel Feb 20, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,3 +93,4 @@ The maintainers of this repository are:
* [Get started with F#](https://docs.microsoft.com/dotnet/fsharp/get-started/)
* [F# Software Foundation](https://fsharp.org)
* [F# Testimonials](https://fsharp.org/testimonials)

31 changes: 31 additions & 0 deletions clean.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#! /usr/bin/env bash

DEAD_DIRS=(
"azure-pipelines.yml"
"DEVGUIDE.md"
"eng/common/templates"
"FSharp.sln"
"src/fsharp/fsc/fsc.fsproj"
"src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec"
"src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj"
"src/fsharp/fsi/fsi.fsproj"
"src/fsharp/fsiAnyCpu/fsiAnyCpu.fsproj"
"src/fsharp/Interactive.DependencyManager/xlf"
"src/fsharp/xlf"
"TESTGUIDE.md"
"tests/EndToEndBuildTests"
"tests/FSharp.Compiler.Private.Scripting.UnitTests"
"tests/FSharp.Compiler.UnitTests"
"tests/FSharp.Core.UnitTests"
"tests/fsharp/Compiler"
"tests/fsharp/conformance"
"tests/fsharp/core"
"tests/fsharp/test-framework.fs"
"tests/fsharp/tests.fs"
"tests/fsharp/typecheck"
"tests/fsharpqa"
"VisualFSharp.sln"
"vsintegration"
)

git rm -rf --ignore-unmatch ${DEAD_DIRS[*]}
4 changes: 4 additions & 0 deletions eng/Build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,10 @@ function TestUsingNUnit([string] $testProject, [string] $targetFramework) {
$args += " --no-build"
}

if ($env:RunningAsPullRequest -ne "true") {
$args += " --filter TestCategory!=PullRequest"
}

Exec-Console $dotnetExe $args
}

Expand Down
4 changes: 2 additions & 2 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<ProductDependencies>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.20077.3">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.20113.5">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>69a67461460d99125742d5c2dd94dad83add84a3</Sha>
<Sha>15f00efd583eab4372b2e9ca25bd80ace5b119ad</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
1 change: 1 addition & 0 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@
<SystemThreadingThreadPoolVersion>4.3.0</SystemThreadingThreadPoolVersion>
<SystemValueTupleVersion>4.5.0</SystemValueTupleVersion>
<SystemBuffersVersion>4.5.0</SystemBuffersVersion>
<SystemMemoryVersion>4.5.3</SystemMemoryVersion>
<!-- Roslyn packages -->
<MicrosoftCodeAnalysisEditorFeaturesVersion>$(RoslynVersion)</MicrosoftCodeAnalysisEditorFeaturesVersion>
<MicrosoftCodeAnalysisEditorFeaturesTextVersion>$(RoslynVersion)</MicrosoftCodeAnalysisEditorFeaturesTextVersion>
Expand Down
7 changes: 6 additions & 1 deletion eng/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -181,10 +181,15 @@ function TestUsingNUnit() {
exit 1
fi

filterArgs=""
if [[ "${RunningAsPullRequest:-}" != "true" ]]; then
filterArgs=" --filter TestCategory!=PullRequest"
fi

projectname=$(basename -- "$testproject")
projectname="${projectname%.*}"
testlogpath="$artifacts_dir/TestResults/$configuration/${projectname}_$targetframework.xml"
args="test \"$testproject\" --no-restore --no-build -c $configuration -f $targetframework --test-adapter-path . --logger \"nunit;LogFilePath=$testlogpath\""
args="test \"$testproject\" --no-restore --no-build -c $configuration -f $targetframework --test-adapter-path . --logger \"nunit;LogFilePath=$testlogpath\"$filterArgs"
"$DOTNET_INSTALL_DIR/dotnet" $args || exit $?
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ type SemanticClassificationServiceTests() =
let checker = FSharpChecker.Create()
let perfOptions = { LanguageServicePerformanceOptions.Default with AllowStaleCompletionResults = false }

let getRanges (source: string) : (Range.range * SemanticClassificationType) list =
let getRanges (source: string) : struct (Range.range * SemanticClassificationType) list =
asyncMaybe {

let! _, _, checkFileResults = checker.ParseAndCheckDocument(filePath, 0, SourceText.From(source), projectOptions, perfOptions, "")
Expand All @@ -45,7 +45,7 @@ type SemanticClassificationServiceTests() =
let ranges = getRanges fileContents
let line = text.Lines.GetLinePosition (fileContents.IndexOf(marker) + marker.Length - 1)
let markerPos = Range.mkPos (Range.Line.fromZ line.Line) (line.Character + marker.Length - 1)
match ranges |> List.tryFind (fun (range, _) -> Range.rangeContainsPos range markerPos) with
match ranges |> List.tryFind (fun struct (range, _) -> Range.rangeContainsPos range markerPos) with
| None -> Assert.Fail("Cannot find colorization data for end of marker")
| Some(_, ty) -> Assert.AreEqual(classificationType, FSharpClassificationTypes.getClassificationTypeName ty, "Classification data doesn't match for end of marker")

Expand All @@ -54,7 +54,7 @@ type SemanticClassificationServiceTests() =
let ranges = getRanges fileContents
let line = text.Lines.GetLinePosition (fileContents.IndexOf(marker) + marker.Length - 1)
let markerPos = Range.mkPos (Range.Line.fromZ line.Line) (line.Character + marker.Length - 1)
let anyData = ranges |> List.exists (fun (range, sct) -> Range.rangeContainsPos range markerPos && ((FSharpClassificationTypes.getClassificationTypeName sct) = classificationType))
let anyData = ranges |> List.exists (fun struct (range, sct) -> Range.rangeContainsPos range markerPos && ((FSharpClassificationTypes.getClassificationTypeName sct) = classificationType))
Assert.False(anyData, "Classification data was found when it wasn't expected.")

[<TestCase("(*1*)", FSharpClassificationTypes.ValueType)>]
Expand Down
26 changes: 21 additions & 5 deletions fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@
<EmbeddedText Include="$(FSharpSourcesRoot)\fsharp\FSComp.txt">
<Link>FSComp.txt</Link>
</EmbeddedText>
<EmbeddedText Include="$(FSharpSourcesRoot)\fsharp\Interactive.DependencyManager\InteractiveDependencyManager.txt">
<Link>InteractiveDependencyManager.txt</Link>
</EmbeddedText>
<EmbeddedText Include="$(FSharpSourcesRoot)\fsharp\fsi\FSIstrings.txt">
<Link>FSIstrings.txt</Link>
</EmbeddedText>
Expand Down Expand Up @@ -522,11 +525,11 @@
<Compile Include="$(FSharpSourcesRoot)/fsharp/DotNetFrameworkDependencies.fs">
<Link>Driver\DotNetFrameworkDependencies.fs</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)/fsharp/DependencyManager.Integration.fsi">
<Link>Driver/DependencyManager.Integration.fsi</Link>
<Compile Include="$(FSharpSourcesRoot)/fsharp/Interactive.DependencyManager/DependencyManager.fsi">
<Link>Driver/DependencyManager.fsi</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)/fsharp/DependencyManager.Integration.fs">
<Link>Driver/DependencyManager.Integration.fs</Link>
<Compile Include="$(FSharpSourcesRoot)/fsharp/Interactive.DependencyManager/DependencyManager.fs">
<Link>Driver/DependencyManager.fs</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)/fsharp/CompileOps.fsi">
<Link>Driver/CompileOps.fsi</Link>
Expand Down Expand Up @@ -576,6 +579,18 @@
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\Reactor.fs">
<Link>Service/Reactor.fs</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\SemanticClassification.fsi">
<Link>Service/SemanticClassification.fsi</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\SemanticClassification.fs">
<Link>Service/SemanticClassification.fs</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\ItemKey.fsi">
<Link>Service/ItemKey.fsi</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\ItemKey.fs">
<Link>Service/ItemKey.fs</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\IncrementalBuild.fsi">
<Link>Service/IncrementalBuild.fsi</Link>
</Compile>
Expand Down Expand Up @@ -636,7 +651,7 @@
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\ExternalSymbol.fs">
<Link>Service/ExternalSymbol.fs</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\QuickParse.fsi">
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\QuickParse.fsi">
<Link>Service/QuickParse.fsi</Link>
</Compile>
<Compile Include="$(FSharpSourcesRoot)\fsharp\service\QuickParse.fs">
Expand Down Expand Up @@ -684,6 +699,7 @@
<PackageReference Include="System.Collections.Immutable" Version="1.5.0" />
<PackageReference Include="System.Reflection.Metadata" Version="1.6.0" />
<PackageReference Include="System.Buffers" Version="4.5.0" />
<PackageReference Include="System.Memory" Version="4.5.3" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
<PackageReference Include="System.Diagnostics.Process" Version="4.1.0" />
Expand Down
20 changes: 16 additions & 4 deletions fcs/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,30 @@
#### 34.1.0

From dotnet/fsharp:3af8959b6..9d69b49b7:

* set default script TFM to netcoreapp3.1 if none found
* improve C#-nullable and optional interop (RFC FS-1075)
* Add type name to `undefined name error` if known
* improve printing via %A/fsi
* misc. improvements to DependencyManager
* improve type provider support for .netcoreapp3.1 target frameworks.
* New, optimized find-all-references API with reduced memory usage.
* better error messages for failed overload resolution

#### 34.0.1

Contains commits from 32b124966 to d7018737c from dotnet/fsharp. Notable changes include:

* lowered allocations for large strings and char arrays (notably source file texts)
* improved support for byreflike rules with regards to type abbreviations
* improved support for byref-like rules with regards to type abbreviations
* better support for scopes in recursive modules
* better location of .net core reference assemblies
* lowered allocations for several internal compiler structures
* better error messages for anonymous record mismatches
* FSharpChecker learned how to keep background symbol uses
* Project cracker/project cracker tool were removed
* Better support for consuming C# inref parameters
* new services around simplifing names and finding unused declarations
* Better support for consuming C# in-ref parameters
* new services around simplifying names and finding unused declarations
* package management in scripts (in preview)
* and-bang syntax support (in preview)

Expand All @@ -25,7 +38,6 @@ Integrate dotnet/fsharp from 4f5f08320 to 7b25d7f82. Notable changes include:
* Support for Literal values in signature files
* Using memory-mapped files cross-platform to read IL.


#### 33.0.0

Integrate dotnet/fsharp from 48f932cf8 to 085985140. Notable changes include:
Expand Down
17 changes: 12 additions & 5 deletions fcs/build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,19 @@ Target.create "GenerateDocsJa" (fun _ ->
runDotnet "docsrc/tools" "fake" "run generate.ja.fsx"
)

open Fake.IO.Globbing.Operators

Target.create "PublishNuGet" (fun _ ->
let apikey = Environment.environVarOrDefault "nuget-apikey" (UserInput.getUserPassword "Nuget API Key: ")
Paket.push (fun p ->
{ p with
ApiKey = apikey
WorkingDir = releaseDir })
let apikey = lazy(Environment.environVarOrDefault "nuget-apikey" (UserInput.getUserPassword "Nuget API Key: "))
!! (sprintf "%s/*.%s.nupkg" releaseDir release.NugetVersion)
|> Seq.iter (fun nupkg ->
DotNet.nugetPush (fun p -> {
p with
PushParams = { p.PushParams with
ApiKey = Some apikey.Value
Source = Some "https://api.nuget.org/v3/index.json" }
}) nupkg
)
)

// --------------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion fcs/docsrc/tools/templates/template.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
<li><a href="@Properties["project-nuget"]">Get Library via NuGet</a></li>
<li><a href="@Properties["project-github"]">Source Code on GitHub</a></li>
<li><a href="@Properties["project-github"]/blob/master/LICENSE">License</a></li>
<li><a href="@Properties["project-github"]/blob/master/RELEASE_NOTES.md">Release Notes</a></li>
<li><a href="@Properties["project-github"]/blob/master/fcs/RELEASE_NOTES.md">Release Notes</a></li>

<li class="nav-header">Getting started</li>
<li><a href="@Root/index.html">Home page</a></li>
Expand Down
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
}
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.20077.3",
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.20113.5",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19069.2"
}
}
4 changes: 4 additions & 0 deletions src/absil/il.fs
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,10 @@ type ILVersionInfo =
new (major, minor, build, revision) =
{ Major = major; Minor = minor; Build = build; Revision = revision }

/// For debugging
override x.ToString() = sprintf "ILVersionInfo: %u %u %u %u" (x.Major) (x.Minor) (x.Build) (x.Revision)


type Locale = string

[<StructuralEquality; StructuralComparison>]
Expand Down
Loading