Type check *after* the default is applied. For #102 #103
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.
Types were checked before defaults were applied which worked when
defaults could only apply to arguments that weren't passed in. Now that
we have the where clause (and the //= shortcut) you can pass in a value
and still get a default.
This patch fixes that. Type checks are done after defaults are
applied, and args with defaults are now always type checked.
Another consequence is defaults are now type checked. This will now fail.
Object $thing = "string"
This could maybe be optimized by type checking the default once
at compile time.
For #102