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

[RFC FS-1043] Extension members visible to trait constraints #6805

Open
wants to merge 92 commits into
base: master
from

Conversation

@dsyme
Copy link
Collaborator

commented May 22, 2019

Continuation of #6286 from a feature branch

RFC https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1043-extension-members-for-operators-and-srtp-constraints.md

This is work by @TobyShaw and myself to implement RFC FS-1043. This PR brings #3582 up-to-date with master

TODO items from the code

  • TastOps.fs extSlns // TODO: do we need to remap here???
  • TastPickle.fs extSlns starts empty. TODO: check the ramifications of this when inlining solved trait calls from other assemblies
  • Optimizer.fs // TODO: consider what happens when the expression refers to extSlns that have become hidden
  • Check use of None for TraitFreshener, e.g. https://github.com/Microsoft/visualfsharp/pull/3582/files#diff-5b9ab9dd9d7133aaf23add1048742031R576
  • ConstraintSolver.fs // TODO: check the use of 'allPairs' - not all these extensions apply to each type variable.

Things to test

  • explicit instantiations of all the different possible generic things
  • Using C#-style extension members defined in F# to satisfy constraints
  • More uses of extension constraints

Things from previous PR

Lab User and others added some commits Aug 17, 2017

dsyme dsyme
dsyme dsyme
dsyme dsyme
dsyme dsyme
dsyme dsyme
dsyme dsyme

dsyme added some commits Apr 1, 2019

dsyme and others added some commits May 22, 2019

move testfile to tests\fsharp\core (#7130)
* move testfile to tests\fsharp\core

* addition op on struct tuple fails

* fix test expected value

@dsyme dsyme changed the title [WIP, RFC FS-1043] Extension members visible to trait constraints [RFC FS-1043] Extension members visible to trait constraints Jul 5, 2019

dsyme and others added some commits Jul 5, 2019

[master] Update dependencies from dotnet/arcade (#7162) (#7170)
* Update dependencies from https://github.com/dotnet/arcade build 20190708.1

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19358.1

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

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19359.1

dsyme and others added some commits Jul 30, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.