csharplang/meetings/2018
2018-09-18 16:58:41 -07:00
..
LDM-2018-01-03.md Clean up Jan design notes 2018-03-20 17:38:03 -07:00
LDM-2018-01-10.md Clean up Jan design notes 2018-03-20 17:38:03 -07:00
LDM-2018-01-18.md Clean up Jan design notes 2018-03-20 17:38:03 -07:00
LDM-2018-01-22.md Clean up Jan design notes 2018-03-20 17:38:03 -07:00
LDM-2018-01-24.md Clean up Jan design notes 2018-03-20 17:38:03 -07:00
LDM-2018-01-31.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-05.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-07.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-14.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-21.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-26.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-02-28.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-03-14.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-03-19.md Add raw notes for 2018 2018-03-20 09:03:16 -07:00
LDM-2018-03-21.md Add raw notes for 3/21/2018 2018-03-27 17:43:43 -07:00
LDM-2018-03-28.md Add raw notes for Mar 28, 2018 2018-03-30 11:27:15 -07:00
LDM-2018-04-02.md Add raw notes 2018-04-06 10:44:01 -07:00
LDM-2018-04-04.md Add raw notes 2018-04-06 10:44:01 -07:00
LDM-2018-04-25.md add and edit design notes 2018-05-18 16:04:30 -07:00
LDM-2018-04-30.md add and edit design notes 2018-05-18 16:04:30 -07:00
LDM-2018-05-02.md add and edit design notes 2018-05-18 16:04:30 -07:00
LDM-2018-05-14.md add and edit design notes 2018-05-18 16:04:30 -07:00
LDM-2018-05-21.md Add design notes 2018-05-23 09:37:18 -07:00
LDM-2018-05-23.md Add design notes 2018-07-09 17:07:16 -07:00
LDM-2018-05-30.md Add design notes 2018-07-09 17:07:16 -07:00
LDM-2018-06-04.md Add design notes 2018-07-09 17:07:16 -07:00
LDM-2018-06-06.md Add design notes 2018-07-09 17:07:16 -07:00
LDM-2018-06-25.md Add design notes 2018-07-09 17:07:16 -07:00
LDM-2018-07-09.md Add notes for 2018-07-09 LDM 2018-07-12 23:33:10 -07:00
LDM-2018-07-11.md Add LDM notes for 2018-07-11 2018-07-16 16:52:12 -07:00
LDM-2018-07-16.md Minor formatting issue on "<no attribute>" case 2018-07-19 07:26:34 -07:00
LDM-2018-08-20.md Correct date to 2018-08-20 2018-09-04 13:56:26 -07:00
LDM-2018-08-22.md Add notes for 2018-08-22 2018-09-11 14:07:01 -07:00
LDM-2018-09-05.md Add meeting notes for 2018-09-05 2018-09-11 14:16:49 -07:00
README.md Update README.md 2018-09-18 16:58:41 -07:00

C# Language Design Notes for 2018

Overview of meetings and agendas for 2018

Jan 3, 2018

C# Language Design Notes for Jan 3, 2018

  1. Scoping of expression variables in constructor initializer
  2. Scoping of expression variables in field initializer
  3. Scoping of expression variables in query clauses
  4. Caller argument expression attribute
  5. Other caller attributes
  6. New constraints

Jan 10, 2018

C# Language Design Notes for Jan 10, 2018

  1. Ranges and endpoint types

Jan 18, 2018

C# Language Design Notes for Jan 18, 2018

We discussed the range operator in C# and the underlying types for it.

  1. Scope of the feature
  2. Range types
  3. Type name
  4. Open-ended ranges
  5. Empty ranges
  6. Enumerability
  7. Language questions

Jan 22, 2018

C# Language Design Notes for Jan 22, 2018

We continued to discuss the range operator in C# and the underlying types for it.

  1. Inclusive or exclusive?
  2. Natural type of range expressions
  3. Start/length notation

Jan 24, 2018

C# Language Design Notes for Jan 24, 2018

  1. Ref reassignment
  2. New constraints
  3. Target typed stackalloc initializers
  4. Deconstruct as ref extension method

July 9, 2018

C# Language Design Notes for July 9, 2018

  1. using var feature
    1. Overview
    2. Tuple deconstruction grammar form
    3. using expr; grammar form
    4. Flow control safety
  2. Pattern-based Dispose in the using statement
  3. Relax Multiline interpolated string syntax ($@)

July 11, 2018

C# Language Design Notes for July 11, 2018

  1. Controlling nullable reference types with feature flags
  2. Interaction with NonNullTypesAttribute
  3. Feature flag and 'warning waves'
  4. How 'oblivious' null types interact with generics
  5. Nullable and interface generic constraints

July 16, 2018

C# Language Design Notes for July 16, 2018

  1. Null-coalescing assignment
    1. User-defined operators
    2. Unconstrained type parameters
    3. Throw expression the right-hand side
  2. Nullable await
  3. Nullable pointer access
  4. Non-nullable reference types feature flag follow-up

August 20, 2018

C# Language Design Notes for August 20, 2018

  1. Remaining questions on suppression operator (and possibly cast)
  2. Does a dereference update the null-state?
  3. Null contract attributes
  4. Expanding the feature
  5. Is T? where T : class? allowed or meaningful?
  6. Confirm that oblivious should be ephemeral
  7. Unconstrained T in List then FirstOrDefault(). What attribute to annotate FirstOrDefault?

August 22, 2018

C# Language Design Notes for August 22, 2018

  1. Target-typed new
  2. Clarification on constraints with nullable reference types enabled

September 5, 2018

C# Language Design Notes for September 5, 2018

  1. Index operator: is it a unary operator?
  2. Compiler intrinsics

Upcoming meetings

Sep 19, 2018

  • Triage championed features
  • Triage milestones

Sep 24, 2018

  • C#/F# interactions (Don Syme, Phillip Carter)

Sep 26, 2018

  • Pattern matching open questions (Neal)

Oct 1, 2018

  • Nullable type inference with respect to null-oblivious types (Chuck, Fred)

Oct 3, 2018

Oct 10, 2018

Schedule ASAP

Schedule when convenient

  • Readonly methods in structs (Jared)
  • Discussion of refreshing language spec (Neal)
  • Open issues with default interface methods (Aleksey, David)
  • Discussion of records (Andy)

Recurring topics

  • Triage championed features
  • Triage milestones
  • Design review