Add back ability to reproduce default parameter values#356
Merged
jonorossi merged 5 commits intocastleproject:masterfrom May 15, 2018
Merged
Add back ability to reproduce default parameter values#356jonorossi merged 5 commits intocastleproject:masterfrom
jonorossi merged 5 commits intocastleproject:masterfrom
Conversation
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.
@jonorossi - This is in response to #291 (comment) and low-priority. If you've changed your mind since January and would rather not merge this, that's no problem.
Reproduction of default parameter values has caused a lot of trouble in the past and was eventually (in #149) disabled completely, because
ParameterBuilder.SetConstantwas deemed too buggy. At that time, it wasn't clearly understood what bugs exactly caused the problems.I've spent some time discovering and documenting the relevant bugs that are present in current versions of the CLR, CoreCLR, and on Mono. This commits adds back the ability to reproduce default parameter values, but this time with more precise error detection.
This means that on recent runtimes, default parameter values will stand a good chance of being copied much more faithfully.
This is work in progress and shouldn't be considered for merging until the following have been ticked off:/cc #35 + #36, #45, #87 + #91, #141 + #149, #291