Back to Csharplang

C# Language Design Notes for 2023

meetings/2023/README.md

latest9.9 KB
Original Source

C# Language Design Notes for 2023

Mon Dec 11, 2023

C# Language Design Meeting for December 11th, 2023

  • Extensions

Mon Dec 4, 2023

C# Language Design Meeting for December 4th, 2023

  • Lock statement pattern
  • BinaryCompatOnlyAttribute

Mon Nov 27, 2023

C# Language Design Meeting for November 27th, 2023

  • Pattern order optimizations
  • Subarray slicing breaking change
  • Making patterns constant expressions

Wed Nov 15, 2023

C# Language Design Meeting for November 15th, 2023

  • params improvements
  • Nullability analysis of collection expressions
  • Evaluation of implicit indexers in object initializers

Mon Oct 16, 2023

C# Language Design Meeting for October 16th, 2023

  • Triage
    • Breaking change warnings
    • Determine natural type of method group by looking scope-by-scope
    • u8 string interpolation
    • Lock statement pattern
    • String/Character escape sequence \e as a short-hand for \u001b
    • New operator %% for canonical Modulus operations

Wed Oct 11, 2023

C# Language Design Meeting for October 11th, 2023

  • C# spec update
  • Collection expressions

Mon Oct 9, 2023

C# Language Design Meeting for October 9th, 2023

  • Triage
    • ReadOnlySpan initialization from static data
    • Embedded Language Indicators for raw string literals
    • list-patterns on enumerables
    • Make generated `Program`` for top-level statements public by default
    • CallerCharacterNumberAttribute
    • Add private and namespace accessibility modifiers for top-level types
    • Require await to apply nullable postconditions to task-returning calls
    • is expression evaluating const expression should be considered constant

Wed Oct 4, 2023

C# Language Design Meeting for October 4th, 2023

  • Trimming and AOT

Mon Oct 2, 2023

C# Language Design Meeting for October 2nd, 2023

  • Collection expressions

Wed Sept 27, 2023

C# Language Design Meeting for September 27th, 2023

  • Collection expressions

Mon Sept 25, 2023

C# Language Design Meeting for September 25th, 2023

  • Primary constructors
  • Defining well-defined behavior for collection expression types

Wed Sept 20, 2023

C# Language Design Meeting for September 20th, 2023

  • Collection expressions
    • Type inference from spreads
    • Overload resolution fallbacks

Mon Sept 18, 2023

C# Language Design Meeting for September 18th, 2023

  • Collection expression questions
    • Optimizing non-pattern collection construction
    • Avoiding intermediate buffers for known-length cases

Wed Aug 16 2023

C# Language Design Meeting for August 16th, 2023

  • Ref-safety scope for collection expressions
  • Experimental attribute

Mon Aug 14, 2023

C# Language Design Meeting for August 14th, 2023

  • Betterness for collection expressions and span types
  • Type inference from collection expression elements
  • Collection expression conversions

Wed Aug 9, 2023

C# Language Design Meeting for August 9th, 2023

  • Lambdas with explicit return types
  • Target typing of collection expressions to core interfaces
  • Loosening requirements for collection builder methods

Mon Aug 7, 2023

C# Language Design Meeting for August 7th, 2023

  • Improvements to method group natural types

Mon Jul 31, 2023

C# Language Design Meeting for July 31st, 2023

  • Primary constructor parameters and readonly

Wed Jul 26, 2023

C# Language Design Meeting for July 26th, 2023

  • Primary constructor parameters and readonly

Mon Jul 24, 2023

C# Language Design Meeting for July 24th, 2023

  • Method group natural types with extension members
  • Interceptors

Mon Jul 17, 2023

C# Language Design Meeting for July 17th, 2023

  • Compiler Check-in
  • readonly parameters

Wed Jul 12, 2023

C# Language Design Meeting for July 12th, 2023

  • Collection Literals
    • Create methods
    • Extension methods
  • Interceptors

Mon Jun 19, 2023

C# Language Design Meeting for June 19th, 2023

  • Prefer spans over interfaces in overload resolution
  • Collection literals

Mon Jun 5, 2023

C# Language Design Meeting for June 5th, 2023

  • Collection literals

Wed May 31, 2023

C# Language Design Meeting for May 31st, 2023

  • Collection literals

Wed May 17, 2023

C# Language Design Meeting for May 17th, 2023

  • Inline arrays

Mon May 15, 2023

C# Language Design Meeting for May 15th, 2023

  • Breaking Change Warnings
  • Primary Constructors

Mon May 8, 2023

C# Language Design Meeting for May 8th, 2023

  • Primary Constructors

Wed May 3, 2023

C# Language Design Meeting for May 3rd, 2023

  • Inline Arrays
  • Primary constructors
    • Attributes on captured parameters
    • Warning for shadowing base members
  • Collection literal natural type

Mon May 1, 2023

C# Language Design Meeting for May 1st, 2023

  • Fixed Size Buffers
  • lock statement improvements

Wed Apr 26, 2023

C# Language Design Meeting for April 26th, 2023

  • Collection literals

Mon Apr 10, 2023

C# Language Design Meeting for April 10th, 2023

  • Fixed Size Buffers

Mon Apr 3, 2023

C# Language Design Meeting for April 3rd, 2023

  • Collection Literals
  • Fixed-size buffers

Wed Mar 15, 2023 (No notes)

  • Discriminated Unions
  • Interceptors

Mon Mar 13, 2023 (Shorter meeting)

C# Language Design Meeting for March 13th, 2023

  • Unsafe in aliases hole
  • Attributes on primary ctors

Wed Mar 8, 2023

C# Language Design Meeting for March 8th, 2023

  • Discriminated Unions
  • Limited Breaking Changes in C#

Wed Mar 1, 2023 (Shorter meeting)

C# Language Design Meeting for March 1st, 2023

  • Discriminated Unions Summary

Mon Feb 27, 2023

C# Language Design Meeting for February 27th, 2023

  • Interceptors

Wed Feb 22, 2023

C# Language Design Meeting for February 22nd, 2023

  • Primary Constructors
  • Extensions

Wed Feb 15, 2023

C# Language Design Meeting for February 15th, 2023

  • Open questions in primary constructors
    • Capturing parameters in lambdas
    • Assigning to this in a struct

Wed Feb 1, 2023

C# Language Design Meeting for February 1st, 2023

  • Position of unsafe in aliases
  • Roles and extensions

Wed Jan 18, 2023

C# Language Design Meeting for January 18th, 2023

  • Nullable post-conditions and async/await
  • Semi-colon bodies for type declarations

Wed Jan 11, 2023

C# Language Design Meeting for January 11th, 2023

  • using aliases for any types
    • Pointer types in aliases
    • Reference nullability in aliases
    • Value nullability in aliases

Mon Jan 9, 2023

C# Language Design Meeting for January 9th, 2023

  • Working group re-evaluation