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

merge from master #9

Merged
merged 30 commits into from
Nov 9, 2016
Merged

merge from master #9

merged 30 commits into from
Nov 9, 2016

Conversation

AviAvni
Copy link
Owner

@AviAvni AviAvni commented Nov 9, 2016

No description provided.

gusty and others added 30 commits October 29, 2016 17:40
There's no need to re-run ResolveOverloading just to apply the inference equations.
We can have the same effect by manipulating the trace 'by-hand' instead of using CollectThenUndo.
* Fix typeforward resolutions

* Update lkg

* Name TupleSample correctly

* Get paths to references right
* use propoer TargetProfile setting

* remove duplicate lines

* use propoer TargetProfile setting

* Update FSharp.Core.fsproj

* Update FSharp.Core.fsproj
* remove final mentions of net20

* Update FSharpSource.targets
* Fsi.exe should be called fsi.exe systematically. Let's normalize this now.
* Fsi.exe is always called fsiAnyCpu.exe on Mono. Although both are odd names, it's best to use the same as what is already used on case-sensitive file systems. Let's normalize this now.
* Fix dependencies in FSharp.Core nuget description to match project.json
* Simplify propagation of PREFERRED_UI_LANG define
* Add tuple tests to profile47 fsharp core unit tests

* remove duplicated line

* Use publish to deploy lkg

* Revert "Use publish to deploy lkg"

This reverts commit bf80d4e.

* Remove dup lines
* fix merge

* Publish lkg using platform

* nothing
They just point to DEVGUIDE and TESTGUIDE in the text.

Thank you @kurtschelfthout for taking care of this.
seekReadMethodDefAsMethodDataUncached didn't honour the total parameter
count of both the type object and the method object. If there was only
one, then the correct result would have been achieved, but when both
were specific it caused corruption of the resultant MethodData
structure.
This enables a build of this repo using Mono. 

- Use FSharp.Compiler.Tools nuget package as LKG (like fsharp/fsharp)
- Update init-tools.cmd and init-tools.sh to be the latest from the .NET Core repos.
- There are a bunch of simplifications and extra checking in FSharpSource,targets
- Some of the key signing logic has Mono-compat implementations
- Removed use of tuple structs from the compiler code (this was done when initially updating the LKG. I eventually updated the LKG to one that actually supports tuple structs, but the uses of the feature aren't needed in the compiler code, so I'll remove them in any case)
- Adjust CustomCopyLocal and remove subst.exe. We can work out how to implement a copy-and-substitute at a later point.
- Project files on Mono need to use
   <FSharpSourcesRoot>$(MSBuildProjectDirectory)\..\..</FSharpSourcesRoot>
instead of

    <FSharpSourcesRoot>..\..</FSharpSourcesRoot>
CoreCLR bits are not built on Mono though the PR includes some preliminary changes in that direction.

We do some things differently on Linux/Mono:

- UseMicroBuild is off
- UseSourceLink is off
- UseGatherBinaries is off
- AddVsSdkAttributesToSomeCoreComponents is off

The define CROSS_PLATFORM_COMPILER is set when building for Mono to workaround a couple of limitations in Mono. The code is written in a way so that it is valid to set it on Windows too, but we don't CI that.

One odd de-capitalization change was needed in init-tools.sh to use microsoft.dotnet.buildtools instead of Microsoft.DotNet.BuildTools since the Linux package gets the former name

See #1703
Due to a change in FsCheck, tests run with a greater effective size
(i.e. generated lists, arrays, strings etc are significantly longer). To
make the tests complete in reasonable time the following changes were
made. First, the maximum size of the test runs in the
CollectionModulesConsistency and AsyncModule tests was changed to 25 and
20 resp. (down from the default, 50). Second, the `haveSameElements`
function was optimized so it is no longer quadratic. (Also note this
function contained a typo bug: `&& ys |>`, not xs.)
* Upgrade Trace class to support redo tupled with the existing undo

* Avoid calling twice CanMemberSigsMatchUpToCheck with ArgsMustSubsumeOrConvert

* Encapsulate replay
* Commit constraint solution before the type equality test.

* Commit constraint solution before the type equality test.
* SolveMemberConstraint will signal through an internal exception that it failed due to an unresolved overload.

* Adjust resulting error code and message from test.

* Use additional argument instead of permitWeakResolution
@AviAvni AviAvni merged commit de769f2 into AviAvni:master Nov 9, 2016
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.

8 participants