-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Merge features/readonly-ref to master #22050
Conversation
Added support for invoking members with "in" parameters.
Merge from master to features/readonly-ref
Allow building nuget package from features/readonly-ref branch
"readonly-ref" combined with version number crosses the limit for the version length and causes nuget errors like: Error : The special version part cannot exceed 20 characters.
Shorten the version moniker "readonly-ref" --> "rdonly-ref"
…date-readonly-ref-branch
Update readonly-ref branch from master
The code was ignoring "readonly" part for local functions, Fixes:#18357
"ref readonly" local functions should be treated as "ref readonly"
Merge from master to features/readonly-ref
These are mostly the checks dealing with stack-only nature of the Span. With minor difference they follow the same logic as the existing checks for types such as TypedReference. ==== Not in this change: Defining and detecting span-like types is NYI. For now we just treat any type named "System.Span" and "System.ReadonlySpan" as span-like. This will change. Some of the checks result in somewhat generaic messages and happen at emit phase. That was ok when the failures were supposed to be rare. Error clarity is not the goal of this change, but we will examone what errors should say and whether they should be moved to an earlier phase.
This will be allowed only for span-like containers eventually, when we can declare those. For now allow in any struct.
Implements the initial set of span-safety checks.
* Writing attribute to metadata * Reading attribute in PE symbols * Added more tests for lambdas, delegates, and other types * Use ReadOnlyAttribute instead * Fix build break * Fix Failed Tests * Enable back disabled tests * Fix more tests * Ban usage of ReadOnlyAttribute in source * Rename System.Runtime.InteropServices.ReadOnlyAttribute to System.Runtime.CompilerServices.ReadOnlyAttribute * Clean up * Address CR comments * More PR feedback
Relaxed escape rules for spans
Merge from master to features/readonly-ref
test windows_debug_unit64_prtest please |
looks like windows_debug_unit64_prtest got stuck and did not start at all. |
@dotnet/roslyn-compiler - FYI |
Tagging @dpoeschl too. Assuming that the manual IDE testing for new language features has been done, I'm okay with merging this. |
Temporarily revert Versions.prop to match master branch for the merge
Add a blank line in Versions.props back for nicer formatting
CC: @MeiChin-Tsai - I think this may need ask mode approval. |
RE: IDE manual testpass I went through the IDE scenarios - to be sure. I used fairly large solution - the entire CoreFxLab repo. There was nothing extraordinary. There was an assert that seems bogus/ignorable specifically related to "ref readonly" and hard to reproduce. - #22237 Otherwise everything worked fine. |
Testing tags
When doing a test pass, copy this page and consider using these status indicators:
1 Feature updated by compiler team, with appropriate unit tests. 2 Feature requires more complete testing by IDE team. Product FeaturesCore Scenarios in Editing, Navigating, and Viewing
Code Transformations
IDE Features
|
According to Jenkins the integration tests have been failing continuously for the last 7 days now. They are not merge-blocking though. I will ignore the integration test results. |
Please make sure all tests pass. Otherwise, approved. |
Thanks!! All required tests are passing. |
…donly-ref branch Merge required reconciling conflicting changes. For details see readonly-ref PR in dotnet/roslyn repo: dotnet#22050
Merge from features/readonly-ref into master.
Brings a number of interconnected features geared towards system/hi-perf programming.
User facing features:
ref readonly
parametersref readonly
returnref
extension methodsref readonly
extension methodsref
ternary expressionsreadonly
stuctsref
structs (such asSpan<T>
andReadonlySpan<T>
and structs that contain them)ref struct
valuesstackalloc
Internal improvements:
==== See also
[ref] readonly
at https://github.com/dotnet/csharplang/blob/master/proposals/readonly-ref.md (ignorein
, that is gone)[ref] readonly
at Test plan for "ref readonly" and related features (7.2) #19216