Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fsharp integration january 2020 #919

Merged
merged 533 commits into from Jan 22, 2020

Conversation

baronfel
Copy link
Collaborator

@baronfel baronfel commented Jan 16, 2020

Contains commits from 32b1249 to 5a01170 from dotnet/fsharp.

Notable features:

  • lowered allocations for large strings and char arrays (notable source file texts)
  • improved support for byreflike 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
  • preview-level functionality for #r "nuget" in scripts

brettfo and others added 30 commits October 30, 2019 15:26
* Fix some issues in ValueNone implementation

* More debug display

* Some for options in debug display

* Apply suggestions from code review

Co-Authored-By: Eugene Auduchinok <eugene.auduchinok@gmail.com>

* Probably better stringing

* Add them baselines

* Add sprintfn tests

* Update OptionModule.fs
* Optimize Seq.Last like Seq.Length

Add type check to Seq.Last and Seq.TryLast to avoid full iteration if not necessary. Like Seq.Length does it at
https://github.com/dotnet/fsharp/blob/c18e1780b3f3f345364cb1ad8e510ea9f4590d3a/src/fsharp/FSharp.Core/seq.fs#L709

* Add test for Optimized Seq.Last and Seq.TryLast

* style update

* style update 2

* update comments and fix build error

Github Build error was:
 Check failure on line 132 in tests\FSharp.Core.UnitTests\FSharp.Core\Microsoft.FSharp.Collections\SeqModule2.fs

@azure-pipelines
azure-pipelines
/ fsharp-ci (Build Windows vs_release)

tests\FSharp.Core.UnitTests\FSharp.Core\Microsoft.FSharp.Collections\SeqModule2.fs#L132
tests\FSharp.Core.UnitTests\FSharp.Core\Microsoft.FSharp.Collections\SeqModule2.fs(132,58): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'a has been constrained to be type 'unit'.

* include List.last case

* include list in tests

* ensure same exception is raised on empty list

* typo

* Added implementation of List.last since it is not available at this point due to compilation error

The recursive function could also be defined inside but i guess then it would be reallocated on every call to Seq.Last (in case of list match).
An alternative would be to add .Last member on list type (like .Length member)

* inline List.last

reverting my previous attempt  dotnet/fsharp@b329e23
tail rec functions should be inlined

* typo in tests(build failed)

* typo2 in test (Build failed)

* move implemnetation to internal module

as suggested by dsyme

* renamed internal tryLast to tryLastV
* Fix member declaration ranges

* Fix member declaration ranges

* Update baseline

* Update baseline
…table (#7682)

* Recover ValNoMutable and PropertyCannotBeSet errors

* Recover FieldNotMutable error

* Refactor tests

* Refactor tests

* Update baseline
* TailCalls test migration

* fix the diff in IL

* fix for netcore
…e/fsharp5

Merge release/dev16.4 to release/fsharp5
* Delete duplicate test

StartTask was exactly the same as CreateTask 50 lines above.

* Restore poorly merged test case
* Resolve native dependencies

* Feedback

* quotes

* temp

* collectible=false
* init a basic readme.md for fsharp test suite

* fix title and try to add link

* case sensitive?

* Update layout.

* Update readme.md
* add events to #r nuget

Includes events for dependency add start, successful completion, and failure.

* remove unnecessary keyword that was redundant and didn't need to be there

* fire events for each unique package referenced
E.g., when `#I ...` occurs in a script or interactive session.
During #r nuget generate a package root #I for non native packages.
* Update dependencies from https://github.com/dotnet/arcade build 20191004.2

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19504.2

* Update dependencies from https://github.com/dotnet/arcade build 20191005.1

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19505.1

* Update dependencies from https://github.com/dotnet/arcade build 20191006.1

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19506.1

* Update dependencies from https://github.com/dotnet/arcade build 20191009.5

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19509.5

* Update dependencies from https://github.com/dotnet/arcade build 20191010.4

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19510.4

* Update dependencies from https://github.com/dotnet/arcade build 20191011.1

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19511.1

* Update dependencies from https://github.com/dotnet/arcade build 20191015.1

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19515.1

* Update dependencies from https://github.com/dotnet/arcade build 20191015.2

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19515.2

* Update dependencies from https://github.com/dotnet/arcade build 20191017.8

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19517.8

* Update dependencies from https://github.com/dotnet/arcade build 20191018.2

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19518.2

* Update dependencies from https://github.com/dotnet/arcade build 20191021.4

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19521.4

* Update dependencies from https://github.com/dotnet/arcade build 20191022.8

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19522.8

* Update dependencies from https://github.com/dotnet/arcade build 20191023.3

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19523.3

* Update dependencies from https://github.com/dotnet/arcade build 20191024.2

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19524.2

* Update dependencies from https://github.com/dotnet/arcade build 20191025.2

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19525.2

* Update dependencies from https://github.com/dotnet/arcade build 20191026.1

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19526.1

* Update dependencies from https://github.com/dotnet/arcade build 20191027.3

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19527.3

* Update dependencies from https://github.com/dotnet/arcade build 20191028.5

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19528.5

* Update dependencies from https://github.com/dotnet/arcade build 20191029.9

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19529.9

* Update dependencies from https://github.com/dotnet/arcade build 20191030.15

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19530.15

* Update dependencies from https://github.com/dotnet/arcade build 20191031.14

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19531.14

* Update dependencies from https://github.com/dotnet/arcade build 20191101.3

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19551.3

* Update dependencies from https://github.com/dotnet/arcade build 20191102.1

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19552.1

* Update dependencies from https://github.com/dotnet/arcade build 20191104.3

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19554.3

* work around dotnet/wpf#1718 by not embedding untracked sources

* use arcade mechanism of populating package icons
…105.7

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19555.7
FreeVars cache optimization on Expr.Let
…28f-7727ed23bc03

[master] Update dependencies from dotnet/arcade
…106.10

- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19556.10
@matthid
Copy link
Contributor

matthid commented Jan 17, 2020

Interesting I'm waiting a long time for a build to check if everything breaks apart. Let me know when it's ready (ping me again)

smoothdeveloper and others added 27 commits January 22, 2020 15:47
* Rename `buff` to `writeViaBuffer` and remove `writeViaBufferWithEnvironmentNewLines`

`writeViaBufferWithEnvironmentNewLines` is causing borked output when error message ends with "\n".

This is probably dating from far back in the history of the codebase, and it doesn't show in windows console, probably because the console itself has some silly work around line termination...

* a bunch of .bsl updated with accurate output

* fix one bsl

* non change for CI

* non change for CI
…dow copies a file on-disk (#8238)

* Fixed exception that prevented creating a memory mapped file that is shadow copied

* Update bytes.fs
* Using ArrayPool

* Remove open

* Changed some style nits

* Clear arrays
* add windows build telemetry

* fix linux build telemetry
* Move Finalize from TcImports to another object responsible for disposing of TcImports resources

* Use ResizeArray
* Do not convert back and forth from list

* Use a simple for loop in replicate

* Put wildcard back
* Remove Finalize on obj holder for RawByteMemory as memory mapped files use a safe handler.

* Removed Finalize from SafeUnamanagedMemoryStream as it is an impl detail for viewing RawByteMemory as a stream

* Remove new

* Update bytes.fs
* Remove ProjectCracker project

* Remove Project Cracker tests

* Remove ProjectCracker docs
* Added inref interop test

* Fixed inref interop when creating a slot sig

* 3.1 to 3.0
* Merge dependency manager and fsi script testing

* Don't forget Linux Duh!!!
* Add uint type abbreviation

* Add uint casting function and test

* Update surface area tests

* update
* Expose simplify name analyzer

* Move IsPrivateToFile to the FSharpSymbolUse from extensions

* Expose Unused Declarations analyzer

* Update src/fsharp/symbols/Symbols.fsi

Co-Authored-By: Phillip Carter <pcarter@fastmail.com>

* Apply feedback

Co-authored-by: Phillip Carter <pcarter@fastmail.com>
* Fix nuget and ref assemblies

* Packaging fixes

* tweaks

* use substring rather than remove

* Removed unused md

* -1 means not found
* fix 5580 and better encapsulate constraint solver

* fix 5580 and better encapsulate constraint solver

* fix 5580 and better encapsulate constraint solver

* fix 5580 and better encapsulate constraint solver

* add new tests

* nudge CI
@baronfel baronfel merged commit 7127242 into fsharp:master Jan 22, 2020
@baronfel baronfel deleted the fsharp-integration-january-2020 branch January 22, 2020 22:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet