12 KiB
C# Language Design Notes for 2022
Overview of meetings and agendas for 2022
Wed Dec 14, 2022
C# Language Design Meeting for December 14th, 2022
- Breaking change for raw string literals
- Program as internal by default
Wed Nov 30, 2022
C# Language Design Meeting for November 30th, 2022
- Revise
MemberNotNull
forrequired
params Span<T>
Wed Nov 2, 2022
C# Language Design Meeting for November 2nd, 2022
- Partial Properties
- Default parameter values in lambdas
Wed Oct 26, 2022
C# Language Design Meeting for October 26th, 2022
- Null-conditional assignment
Wed Oct 19, 2022
C# Language Design Meeting for October 19th, 2022
- Open questions in list patterns on
IEnumerable
- Allowing patterns after slices
- Allowing slicing to capture
Mon Oct 17, 2022
C# Language Design Meeting for October 17th, 2022
- Primary Constructors
- Permit variable declarations under disjunctive patterns
Wed Oct 12, 2022
C# Language Design Meeting for October 12th, 2022
- Keywordness of
field
Mon Oct 10, 2022
C# Language Design Meeting for October 10th, 2022
- Working set triage
- Static classes implementing interfaces
- Null-conditional assignment
- Lambda default parameters
- Working groups
params
support for lambda default parameters- Conclusion
Wed Oct 5, 2022
C# Language Design Meeting for October 5th, 2022
- Review of
ref
fieldsRefSafetyRulesAttribute
- Return-only scope
Wed Sep 28, 2022
C# Language Design Meeting for September 28th, 2022
- Working set triage
- Discriminated Unions
- Collection literals
- Nullability improvements
- Ungrouped
Mon Sep 26, 2022
C# Language Design Meeting for September 26th, 2022
- Working set triage
- Roles & Extensions
- Discriminated Unions
- Bridging statements and expressions
- Construction improvements
ref struct
improvementsparams
improvements- Ungrouped
Wed Sep 21, 2022
C# Language Design Meeting for September 21st, 2022
- Unchampioned issue triage
- Track subtype exhaustiveness for classes with only private constructors
- ReadOnlySpan initialization from static data
- Embedded Language Indicators for raw string literals
- Implicit Parameters
- Unsafer Unsafeness
- Conclusion
Wed Aug 31, 2022
C# Language Design Meeting for August 31st, 2022
- Short term work triage
- Partial properties
- Using aliases for any type
- Null-conditional assignment
await?
params IEnumerable
- Discriminated Unions
- Roles
pragma warning enable
- Ignored directives support
- Primary constructors
- Switch expression as a statement
Wed Aug 24, 2022
C# Language Design Meeting for August 24th, 2022
- C# feature triage
Wed Aug 10, 2022
C# Language Design Meeting for August 10th, 2022
required
property default nullability
Wed Aug 3, 2022
C# Language Design Meeting for August 3rd, 2022
ref
fields specification updates
Wed Jul 27, 2022
C# Language Design Meeting for July 27th, 2022
scoped
for local declarations
Wed Jul 13, 2022
C# Language Design Meeting for July 13th, 2022
- Lambda default parameters
Jun 29, 2022
C# Language Design Meeting for June 29th, 2022
- UTF-8 literal concatenation operator
Jun 6, 2022
C# Language Design Meeting for June 6, 2022
- Open issues for
ref
fields - Open issues for static virtual members
- Concatenation of Utf8 literals
May 23, 2022
C# Language Design Meeting for May 23rd, 2022
- Open issues for
ref
fields
May 11, 2022
C# Language Design Meeting for May 11th, 2022
- Inconsistency around accessibility checks for interface implementations
ref readonly
method parameters- Pattern matching with UTF-8 String Literals
May 9, 2022
C# Language Design Meeting for May 9th, 2022
- Numeric IntPtr
- Ref readonly parameters
May 2, 2022
C# Language Design Meeting for May 2nd, 2022
- Effect of
SetsRequiredMembers
on nullable analysis field
questions- Partial overrides of virtual properties
- Definite assignment of manually implemented setters
Apr 27, 2022
C# Language Design Meeting for April 27th, 2022
- Default parameter values in lambdas
- Null-conditional assignment
Apr 25, 2022
C# Language Design Meeting for April 25th, 2022
ref readonly
method parameters- Inconsistencies around accessibility checks for interface implementations
Apr 18, 2022
C# Language Design Meeting for April 18th, 2022
- Issues with Utf8 string literals
- Ref and ref struct scoping modifiers
Apr 13, 2022
C# Language Design Meeting for April 13th, 2022
- Parameter null checking
- File-scoped types
Apr 11, 2022
C# Language Design Meeting for April 11th, 2022
- Relax restrictions on braces on raw interpolated strings
- Self-type stopgap attribute
Apr 6, 2022
C# Language Design Meeting for April 6th, 2022
- Unresolved questions for static virtual members
- Parameter null checking
Mar 30, 2022
C# Language Design Meeting for March 30th, 2022
- Definite assignment in struct constructors calling
: this()
file private
accessibility
Mar 28, 2022
C# Language Design Meeting for March 28th, 2022
- Variable declarations under disjunctive patterns
- Type hole in static abstracts
- Self types
Mar 23, 2022
C# Language Design Meeting for March 23rd, 2022
- Open questions in required members
- Emitting
SetsRequiredMembers
for record copy constructors - Should
SetsRequiredMembers
suppress errors? - Unsettable members
- Ref returning properties
- Obsolete members
- Emitting
Mar 21, 2022
C# Language Design Meeting for March 21st, 2022
- file private visibility
- Open question in semi-auto properties
- Open question in required members
Mar 14, 2022
C# Language Design Meeting for March 14th, 2022
- file private visibility
Mar 9, 2022
C# Language Design Meeting for March 9th, 2022
- Ambiguity of
..
in collection expressions main
attributesnameof(param)
Mar 7, 2022
- Design review. No published notes.
Mar 2, 2022
C# Language Design Meeting for March 2nd, 2022
- Open questions in
field
- Initializers
- Property assignment in structs
Feb 28, 2022
C# Language Design Meeting for February 28th, 2022
- Ref fields
- Encoding strategy
- Keywords vs Attributes
- Breaking existing lifetime rules
Feb 23, 2022
C# Language Design Meeting for February 23rd, 2022
- Pattern matching over
Span<char>
- Checked operators
Feb 16, 2022
C# Language Design Meeting for February 16th, 2022
- Open questions in
field
- Triage
- User-defined positional patterns
- Delegate type arguments improvements
- Practical existential types for interfaces
- Static abstract interfaces and static classes
Feb 14, 2022
C# Language Design Meeting for February 14th, 2022
- Definite assignment in structs
- Checked operators
Feb 9, 2022
C# Language Design Meeting for February 9th, 2022
- Continue discussion of checked user-defined operators
- Review proposal for unsigned right shift operator
- Review proposal for relaxing shift operator requirements
- Triage champion features
Feb 7, 2022
C# Language Design Meeting for February 7th, 2022
- Checked user-defined operators
Jan 26, 2022
C# Language Design Notes for January 26th, 2022
- Open questions in UTF-8 string literals
Jan 24, 2022
C# Language Design Notes for January 24th, 2022
- Required members metadata representation
- Default implementations of abstract statics
- Triage
- Nested members in with and object creation
- Binary Compat Only
- Attribute for passing caller identity implicitly
- Attributes on Main for top level programs
Jan 12, 2022
C# Language Design Notes for January 12th, 2022
- Open questions for
field
- Initializers for semi-auto properties
- Definite assignment for struct types
- Generic Math Operator Enhancements
Jan 5, 2022
C# Language Design Notes for January 5th, 2022
- Required Members
Jan 3, 2022
C# Language Design Notes for January 3rd, 2022
- Slicing assumptions in list patterns, revisited
- Parameterless struct constructors, revisited