-
Notifications
You must be signed in to change notification settings - Fork 123
Added Fix to allow implicit PCL references to be retrieved from FSharpProjectFileInfo #330
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
Conversation
Also added project tests for profile 7,78,259
I think the test project files might be missing, I get:
|
They are part of FCS?
|
The tests actually pass, mono has a |
@rneatherway Do you need me to do anything else? I just tested on a fresh checkout and everything tests ok. |
I'll retest on a clean checkout in a few minutes.
|
Ok, the appveyor tests also went through ok. |
The tests pass fine for me too now. The problem above seemed to be improperly concatenated paths without a directory separator. |
Just rerunning Travis to confirm it is transient, then will merge. |
Some NuGet issue now.... |
Added Fix to allow implicit PCL references to be retrieved from FSharpProjectFileInfo
Great! Simple but important fix. That'll help Emacs too, thanks Dave. |
Use MONO_VERSION throughout .travis.yml
closes fsharp#335 fixes fsharp#330 commit 05175e2a00a05dd444b9c5420946047d77167742 Author: mrange <marten_range@hotmail.com> Date: Wed Mar 25 20:15:44 2015 +0100 Added Tuple elimination IL test commit 15c32975781bbd66626b05bd1834390e02d8b17f Author: Arseny Kapoulkine <arseny.kapoulkine@gmail.com> Date: Thu Mar 26 00:20:45 2015 -0700 Eliminate tuple allocation for implicitly returned formal arguments The expression generated for implicitly returned formal arguments does not match the structure that tuple allocation elimination can understand. In particular, it generates a structure: let t = (let a0=v0 in let a1=v1 in ... in e0,e1,...) in expr However, tuple allocation elimination expects the tuple value to be a tupled expression for elimination to work. When t is an immutable local variable, we can rewrite the expression into: let a0=v0 in let a1=v1 in ... in (let t = e0,e1,... in expr) This results in a more direct binding for t, enabling allocation elimination. As a result, using match constructs on System.Collections.Generic.Dictionary TryGetValue as follows: match d.TryGetValue(key) with true, value -> ... | _ -> ... generates the same IL in optimized build as more complicated code with explicit output parameters. Other code patterns may get a similar improvement in reduced GC pressure and increased performance.
Also added project tests for profile 7,78,259