csharplang/meetings/2020/README.md
2020-12-17 11:14:24 -08:00

13 KiB

C# Language Design Notes for 2020

Overview of meetings and agendas for 2020

Dec 16, 2020

C# Language Design Notes for December 16th, 2020

  • List patterns
  • Definite assignment changes

Dec 14, 2020

C# Language Design Notes for December 14th, 2020

  • List patterns

Dec 7, 2020

C# Language Design Notes for December 7th, 2020

  • Required Properties

Dec 2, 2020

C# Language Design Notes for December 2nd, 2020

  • Partner scenarios in roles and extensions

Nov 16, 2020

C# Language Design Notes for November 16th, 2020

  • Triage

Nov 11, 2020

C# Language Design Notes for November 11th, 2020

  • IsRecord in metadata
  • Triage

Nov 4, 2020

C# Language Design Notes for November 4th, 2020

  • Nullable parameter defaults
  • Argument state after call for AllowNull parameters

Oct 26, 2020

C# Language Design Notes for October 26st, 2020

  • Pointer types in records
  • Triage

Oct 21, 2020

C# Language Design Notes for October 21st, 2020

  • Primary Constructors
  • Direct Parameter Constructors

Oct 14, 2020

C# Language Design Notes for October 14th, 2020

  • Triage
  • Milestone Simplification

Oct 12, 2020

C# Language Design Notes for October 12th, 2020

  • General improvements to the struct experience (continued)

Oct 7, 2020

C# Language Design Notes for October 7th, 2020

  • record struct syntax
  • data members redux
  • ReadOnlySpan<char> patterns

Oct 5, 2020

C# Language Design Notes for October 5th, 2020

  • record struct primary constructor defaults
  • Changing the member type of a primary constructor parameter
  • data members

Sep 30, 2020

C# Language Design Notes for September 30th, 2020

  • record structs
    • struct equality
    • with expressions
    • Primary constructors and data properties

Sep 28, 2020

C# Language Design Notes for September 28th, 2020

  • Warning on double.NaN
  • Triage

Sep 23, 2020

C# Language Design Notes for September 23rd, 2020

  • General improvements to the struct experience

Sep 16, 2020

C# Language Design Notes for September 16th, 2020

  • Required Properties
  • Triage

Sep 14, 2020

C# Language Design Notes for September 14th, 2020

  • Partial method signature matching
  • Null-conditional handling of the nullable suppression operator
  • Annotating IEnumerable.Cast
  • Nullability warnings in user-written record code
  • Tuple deconstruction mixed assignment and declaration

Sep 9, 2020

C# Language Design Notes for September 9th, 2020

  • Triage issues still in C# 9.0 candidate
  • Triage issues in C# 10.0 candidate

Aug 24, 2020

C# Language Design Notes for August 24th, 2020

  • Warnings on types named record
  • base calls on parameterless records
  • Omitting unnecessary synthesized record members
  • record ToString behavior review
    • Behavior of trailing commas
    • Handling stack overflows
    • Should we omit the implementation of ToString on abstract records
    • Should we call ToString prior to StringBuilder.Append on value types
    • Should we try and avoid the double-space in an empty record
    • Should we try and make the typename header print more economic
  • Reference equality short circuiting

Jul 27, 2020

C# Language Design Notes for July 27th, 2020

Jul 20, 2020

C# Language Design Notes for July 20th, 2020

Jul 13, 2020

C# Language Design Notes for July 13th, 2020

  • Triage open issues

Jul 6, 2020

C# Language Design Notes for July 6, 2020

Jul 1, 2020

C# Language Design Notes for July 1, 2020

Jun 29, 2020

C# Language Design Notes for June 29, 2020

Jun 24, 2020

C# Language Design Notes for June 24, 2020

Jun 22, 2020

C# Language Design Notes for June 22, 2020

  1. Data properties

  2. Clarifying what's supported in records for C# 9

    • Structs

    • Inheritance with records and classes

Jun 17, 2020

C# Language Design Notes for June 17, 2020

  1. Null-suppression & null-conditional operator
  2. parameter! syntax
  3. T??

Jun 15, 2020

C# Language Design Notes for June 15, 2020

Record:

  1. modreq for init accessors

  2. Initializing readonly fields in same type

  3. init methods

  4. Equality dispatch

  5. Confirming some previous design decisions

  6. IEnumerable.Current

Jun 10, 2020

C# Language Design Notes for June 10, 2020

Jun 1, 2020

C# Language Design Notes for June 1, 2020

Records: 1. Base call syntax 2. Synthesizing positional record members and assignments 3. Record equality through inheritance

May 27, 2020

C# Language Design Notes for May 27, 2020

Record syntax 1. Record structs? 2. Record syntax/keyword 3. Details on property shorthand syntax

May 11, 2020

C# Language Design Notes for May 11, 2020

Records

May 6, 2020

C# Language Design Notes for May 6, 2020

  1. Target-typing ?: when the natural type isn't convertible to the target type.
  2. Allow if (x is not string y) pattern.
  3. Open issues in extension GetEnumerator
  4. Args in top-level programs

May 4, 2020

C# Language Design Notes for May 4, 2020

  1. Reviewing design review feedback

April 27, 2020

C# Language Design Notes for April 27, 2020

Records: positional & primary constructors

April 20, 2020

C# Language Design Notes for April 20, 2020

Records: Factories

April 15, 2020

C# Language Design Notes for April 15, 2020

  1. Non-void and non-private partial methods
  2. Top-level programs

April 13. 2020

C# Language Design Notes for April 13, 2020

  1. Roadmap for records
  2. Init-only properties

April 8, 2020

C# Language Design Notes for April 8, 2020

  1. e is dynamic pure null check
  2. Target typing ?:
  3. Inferred type of an or pattern
  4. Module initializers

April 6, 2020

C# Language Design Notes for April 6, 2020

  1. Record Monday: Init-only members

April 1, 2020

C# Language Design Notes for April 1, 2020

  1. Function pointer design adjustments

  2. field keyword in properties

March 30, 2020

  1. Record Monday

C# Language Design Notes for March 30, 2020

March 25, 2020

C# Language Design Notes for March 25, 2020

  1. Open issues with native int

  2. Open issues with target-typed new

March 23, 2020

C# Language Design Notes for March 23, 2020

  1. Triage
  2. Builder-based records

March 9, 2020

C# Language Design Notes for March 9, 2020

  1. Simple programs

  2. Records

Feb 26, 2020

C# Language Design Notes for Feb. 26, 2020

Design Review

Feb 24

C# Language Design Notes for Feb. 24, 2020

Taking another look at "nominal" records

Feb 19

C# Language Design Notes for Feb. 19, 2020

State-based value equality

Feb 12

C# Language Design Notes for Feb. 12, 2020

Records

Feb 10

C# Language Design Notes for Feb. 10, 2020

Records

Feb 5

C# Language Design Notes for Feb. 5, 2020

Feb 3

C# Language Design Notes for Feb. 3, 2020

Value Equality

Jan 29, 2020

C# Language Design Notes for Jan. 29, 2020

Records: "With-ers"

Jan 22, 2020

C# Language Design Notes for Jan 22, 2020

  1. Top-level statements and functions
  2. Expression Blocks

Jan 15, 2020

C# Language Design Notes for Jan 15, 2020

Records

  1. "programming with data"
  2. Decomposing subfeatures of records

Jan 8, 2020

C# Language Design Notes for Jan 8, 2020

  1. Unconstrained type parameter annotation
  2. Covariant returns

Jan 6, 2020

C# Language Design Notes for Jan 6, 2020

  1. Use attribute info inside method bodies
  2. Making Task-like types covariant for nullability
  3. Casting to non-nullable reference type
  4. Triage