- 
                Notifications
    
You must be signed in to change notification settings  - Fork 5.2k
 
Closed
Labels
Milestone
Description
There are several moving parts to support ref fields, this issue represents work in the actual runtime.
The high-level tasks for the runtime are below to address the ref fields work.
-  CoreCLR support
- Port specific work from Hackathon project – https://github.com/dotnet/runtime/tree/feature/lowlevelhackathon
 - Add runtime support for 
reffields #63985 - Fix layout and GCInfo for ByRef fields. #64422
 - Prevent placing ref fields on non-pointer boundaries #64520
 - Validate 
IntPtrand ByRef field overlap #65246 
 - Mono support
 -  API Proposal: Add 
reffield feature support toRuntimeFeatureclass #64165 - Audit handling of null byrefs in runtime and libraries Box helpers do not handle null-valued managed pointers #70268
 - Tooling support
 - ECMA update – Proposed changes to ECMA 335 for ref field support #63659
 -  Delete the 
ByReference<T>type and replace its use withreffields. - Diagnostics – Ensure SOS and VS can handle these new semantics.
 - C# test cases – Comprehensive collection of testing for the runtime.
 - Update CrossGen
 - Update NativeAOT – CoreCLR and Mono.
 - Language support - Merge features/ref-fields roslyn#62155
 
This contributes to enabling #45152.
NN---, SupinePandora43, lambdageek, Tan90909090, ltrzesniewski and 11 moreSergio0694, EgorBo, Thealexbarney, tomrus88, aromaa and 24 moreomariom, aromaa, BreyerW, pawchen, dalexsoto and 5 more