csharplang/meetings/2022/README.md

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 for required
  • 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 fields
    • RefSafetyRulesAttribute
    • 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 improvements
    • params 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

  1. Short term work triage
    1. Partial properties
    2. Using aliases for any type
    3. Null-conditional assignment
    4. await?
    5. params IEnumerable
    6. Discriminated Unions
    7. Roles
    8. pragma warning enable
    9. Ignored directives support
    10. Primary constructors
    11. Switch expression as a statement

Wed Aug 24, 2022

C# Language Design Meeting for August 24th, 2022

  1. C# feature triage

Wed Aug 10, 2022

C# Language Design Meeting for August 10th, 2022

  1. required property default nullability

Wed Aug 3, 2022

C# Language Design Meeting for August 3rd, 2022

  1. ref fields specification updates

Wed Jul 27, 2022

C# Language Design Meeting for July 27th, 2022

  1. scoped for local declarations

Wed Jul 13, 2022

C# Language Design Meeting for July 13th, 2022

  1. 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

  1. Open issues for ref fields
  2. Open issues for static virtual members
  3. Concatenation of Utf8 literals

May 23, 2022

C# Language Design Meeting for May 23rd, 2022

  1. Open issues for ref fields

May 11, 2022

C# Language Design Meeting for May 11th, 2022

  1. Inconsistency around accessibility checks for interface implementations
  2. ref readonly method parameters
  3. Pattern matching with UTF-8 String Literals

May 9, 2022

C# Language Design Meeting for May 9th, 2022

  1. Numeric IntPtr
  2. 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

  1. Issues with Utf8 string literals
  2. Ref and ref struct scoping modifiers

Apr 13, 2022

C# Language Design Meeting for April 13th, 2022

  1. Parameter null checking
  2. File-scoped types

Apr 11, 2022

C# Language Design Meeting for April 11th, 2022

  1. Relax restrictions on braces on raw interpolated strings
  2. Self-type stopgap attribute

Apr 6, 2022

C# Language Design Meeting for April 6th, 2022

  1. Unresolved questions for static virtual members
  2. Parameter null checking

Mar 30, 2022

C# Language Design Meeting for March 30th, 2022

  1. Definite assignment in struct constructors calling : this()
  2. file private accessibility

Mar 28, 2022

C# Language Design Meeting for March 28th, 2022

  1. Variable declarations under disjunctive patterns
  2. Type hole in static abstracts
  3. Self types

Mar 23, 2022

C# Language Design Meeting for March 23rd, 2022

  1. Open questions in required members
    1. Emitting SetsRequiredMembers for record copy constructors
    2. Should SetsRequiredMembers suppress errors?
    3. Unsettable members
    4. Ref returning properties
    5. Obsolete members

Mar 21, 2022

C# Language Design Meeting for March 21st, 2022

  1. file private visibility
  2. Open question in semi-auto properties
  3. Open question in required members

Mar 14, 2022

C# Language Design Meeting for March 14th, 2022

  1. file private visibility

Mar 9, 2022

C# Language Design Meeting for March 9th, 2022

  1. Ambiguity of .. in collection expressions
  2. main attributes
  3. nameof(param)

Mar 7, 2022

  • Design review. No published notes.

Mar 2, 2022

C# Language Design Meeting for March 2nd, 2022

  1. Open questions in field
    1. Initializers
    2. Property assignment in structs

Feb 28, 2022

C# Language Design Meeting for February 28th, 2022

  1. Ref fields
    1. Encoding strategy
    2. Keywords vs Attributes
    3. Breaking existing lifetime rules

Feb 23, 2022

C# Language Design Meeting for February 23rd, 2022

  1. Pattern matching over Span<char>
  2. Checked operators

Feb 16, 2022

C# Language Design Meeting for February 16th, 2022

  1. Open questions in field
  2. Triage
    1. User-defined positional patterns
    2. Delegate type arguments improvements
    3. Practical existential types for interfaces
    4. Static abstract interfaces and static classes

Feb 14, 2022

C# Language Design Meeting for February 14th, 2022

  1. Definite assignment in structs
  2. Checked operators

Feb 9, 2022

C# Language Design Meeting for February 9th, 2022

  1. Continue discussion of checked user-defined operators
  2. Review proposal for unsigned right shift operator
  3. Review proposal for relaxing shift operator requirements
  4. Triage champion features

Feb 7, 2022

C# Language Design Meeting for February 7th, 2022

  1. Checked user-defined operators

Jan 26, 2022

C# Language Design Notes for January 26th, 2022

  1. Open questions in UTF-8 string literals

Jan 24, 2022

C# Language Design Notes for January 24th, 2022

  1. Required members metadata representation
  2. Default implementations of abstract statics
  3. Triage
    1. Nested members in with and object creation
    2. Binary Compat Only
    3. Attribute for passing caller identity implicitly
    4. Attributes on Main for top level programs

Jan 12, 2022

C# Language Design Notes for January 12th, 2022

  1. Open questions for field
    1. Initializers for semi-auto properties
    2. Definite assignment for struct types
  2. Generic Math Operator Enhancements

Jan 5, 2022

C# Language Design Notes for January 5th, 2022

  1. Required Members

Jan 3, 2022

C# Language Design Notes for January 3rd, 2022

  1. Slicing assumptions in list patterns, revisited
  2. Parameterless struct constructors, revisited