Restored requirement for struct constructors to always have formal param...#1106
Merged
VSadov merged 1 commit intodotnet:masterfrom Mar 6, 2015
Merged
Restored requirement for struct constructors to always have formal param...#1106VSadov merged 1 commit intodotnet:masterfrom
VSadov merged 1 commit intodotnet:masterfrom
Conversation
…rameters Fixes dotnet#1029 While overall parameterless constructors in structs are valid from IL perspective, without a convenient way to declare them they were virtually nonexistent. As we performed more and more testing, we kept discovering cases where parameterless struct constructors caused inconsistent behavior in libraries or even in some versions of CLR. After reconsidering the potential issues arising from breaking long standing assumptions, we decided it was best for our users to restore the requirement on struct constructors to always have formal parameters.
Member
Author
|
@AlekseyTs @gafter This is a combined C#/VB fix. |
Member
|
I already reviewed much of this in #1052. Can you please give me a separate pull request so I don't have to duplicate the work? One way would be to write the pull request against your own branch. |
Contributor
|
LGTM |
Member
|
Looks good. |
VSadov
added a commit
that referenced
this pull request
Mar 6, 2015
Restored requirement for struct constructors to always have formal param...
PathogenDavid
added a commit
to InfectedLibraries/roslyn
that referenced
this pull request
Nov 2, 2020
This commit is largely just restoring parameterless constructors before they were removed by 1a6b2f0 in dotnet#1106 Note that unlike the feature before that commit, this is hidden behind a feature flag rather than a language version.
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
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.
...eters
Fixes #1029
While overall parameterless constructors in structs are valid from IL perspective, without a convenient way to declare them they were virtually nonexistent. As we performed more and more testing, we kept discovering cases where parameterless struct constructors caused inconsistent behavior in libraries or even in some versions of CLR.
After reconsidering the potential issues arising from breaking long standing assumptions, we decided it was best for our users to restore the requirement on struct constructors to always have formal parameters.