Charles Stoner
Charles Stoner
See https://github.com/dotnet/roslyn/pull/62886.
Updates the implementation of escape analysis rules for method invocation to match the recent spec changes - see #62791. The updated rules are in effect when compiling with a corlib...
For a subsequent issue/PR we could consider using 'TemporaryArray' here. Many calls are likely to have 4 or fewer arguments. _Originally posted by @RikkiGibson in https://github.com/dotnet/roslyn/pull/62886#discussion_r942772159_
The updated invocation escape analysis in C#11 ignores `ref` modifiers within `__arglist()`, to match the escape analysis implementation for C#10. See calls to `GetInvocationArgumentsForEscapeWithUpdatedRules(..., ignoreArglistRefKinds: true, ...)`. Investigate if this...
```csharp using System; using System.Runtime.CompilerServices; [InterpolatedStringHandler] ref struct CustomHandler { private ref readonly int _i; public CustomHandler(int literalLength, int formattedCount) { } public void AppendFormatted(in int i) { _i =...
Update the C#11 escape analysis rules for method invocation to match the recent spec changes. [Method invocation](https://github.com/dotnet/csharplang/blob/main/proposals/low-level-struct-improvements.md#rules-method-invocation): > For a given argument `a` that is passed to parameter `p`: >...
Summarizing recent changes to the [ref fields specification](https://github.com/dotnet/csharplang/blob/main/proposals/low-level-struct-improvements.md) and related questions. ## 1. `ref scoped` removed `ref scoped` has been removed. `scoped` is now limited to: - by-ref parameters and...
### 1. Parse `scoped` as a modifier with `-langversion:11`? What is the effect of parsing `scoped` as a modifier on existing code that uses `scoped` as a type name or...
# Avoid synthesizing parameterless struct constructors * [x] Proposed * [ ] Prototype: Not Started * [ ] Implementation: Not Started * [ ] Specification: Not Started ## Summary [summary]:...