forked from dotnet/fsharp
-
Notifications
You must be signed in to change notification settings - Fork 0
Update Makefile #3
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
Open
smoothdeveloper
wants to merge
94
commits into
overload-list-error-message
Choose a base branch
from
overload-list-backup-2020-02-15
base: overload-list-error-message
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Update Makefile #3
smoothdeveloper
wants to merge
94
commits into
overload-list-error-message
from
overload-list-backup-2020-02-15
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…cted by dotnet#6596 the baseline files are empty on purpose, expecting CI failure reporting those tests, I intend to update the baseline and clean up the comments / xml tags from fsharpqa syntax in later commit, and then remove those specific tests altogether from fsharpqa if this is OK with the maintainers.
… trigger this other overload related error message
…of callerArgsCount, uncurriedCallerArgs and other variants in the overload resolution logic happening in ConstraintSolver & TypeChecker * [TypeChecker.fs] pass CallerArgs instace at call sites for overload resolution + some commented code as we'll be building a list of given argument types (probably moving as a CallerArgs method or property) * [ConstraintSolver.fs/fsi] pipe the overload resolution traced callback to `trace.CollectThenUndoOrCommit` as that expression is long and more important in that context
…load resolution [ConstraintSolver.fsi] * define OverloadInformation and OverloadResolutionFailure, those replace workflow where `string * ((CalledMeth<_> * exn) list)` values were created at call site mixed with message building and matched later in non obvious fashion in `failOverloading` closure * adjust UnresolvedOverloading and PossibleOverload exceptions [ConstraintSolver.fs] * get rid of `GetPossibleOverloads`, this was used only in `failOverloading` closure, and just being passed the same parameters at call site * give `failOverloading` a more meaningful signature and consolidate the prefix message building logic there * fix `failOverloading` call sites [CompilerOps.fs] adjust pattern matching Expecting behaviour of this code to be identical as before PR `
…rk with simple copy paste.
I'm trying to identify why we get `(CalledMeth<Expr> * exn list)`, I'm making a cartesian product through getMethodSlotsAndErrors for now, trying to figure out if we can get other than 0 or 1 exception in the list for a given method slot. I may revert that one if it doesn't make sense make from a reviewer standpoint and/or breaks fsharpqa tests surounding overload resolution error messages.
…ut back comments where they were
…er overload verbose messages
…, almost like I want in VS2019, this is for the simple non generic method overload case. I want to check if user experience changes wrt dotnet#2503 and put some time to add tests.
* [MethodCalls.fs] Make `CallerArg` a record rather than single entry DU with properties * [ConstraintSolver.fs] fix `CallerArg` call sites * [TypeChecker.fs] * fix `CallerArg` call sites * un-nest DU deconstruction into simpler argument passing * simplify calls to `coerceExpr` by passing individual `CallerArg` rather than it's fields Notes regarding changing to a record: * the DU had properties, in debug, you'd see the unnamed items + the properties exposing the same values, this kind of change (+ naming fields) may have overall impact on debugging experience, along same line as naming DU fields (we remove half of the work of evaluating values when using inspector) * fixing the call sites to the constructor is done by exposing a `make` function taking a tuple in same order as the original DU Notes regarding passing CallerArg rather than it's fields: * there seem to be overlap of optional and out argument concepts in this code path, but the changes are intended to be 1-to-1 refactor
… PossibleOverload. It consolidates some more of the string building logic, and it now shows as a single compact and exhaustive error message in VS Thinking I'll change PossibleOverload to not be an exception if going this way is OK
…ng base line files in the loop
[update.base.line.with.actuals.fsx] * add few directories * error handling (when tests are running, the .err files are locked
update xlf
…criminantAndTypePairs
we keep the fsharpqa test around (but removing the overload error messages from what is asserted out of it) in the meantime
* renaming tys and returnTy fields to better match convention (`tys` is used, so no underscore prefix) * minimizing diff
bd7edfc to
4141681
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.