Added LDM Notes for September 28th, 2022
This commit is contained in:
Родитель
ceec9f6410
Коммит
4c3f5d96cf
|
@ -0,0 +1,89 @@
|
|||
# C# Language Design Meeting for September 28th, 2022
|
||||
|
||||
## Agenda
|
||||
|
||||
- [Working set triage](#working-set-triage)
|
||||
- [Discriminated Unions](#discriminated-unions)
|
||||
- [Collection literals](#collection-literals)
|
||||
- [Nullability improvements](#nullability-improvements)
|
||||
- [Ungrouped](#ungrouped)
|
||||
|
||||
## Quote(s) of the Day
|
||||
|
||||
- "Instead of just skipping 13, we'll take a break for the whole year!"
|
||||
- "disjunctive junction, what's your function?"
|
||||
- "That's the sound of never"
|
||||
- "I do weird stuff in C#, and I've never wanted this"
|
||||
|
||||
## Discussion
|
||||
|
||||
### Working set triage
|
||||
|
||||
We continue our triage from [last time](LDM-2022-09-26.md). For clarity on what we did today, the only issues listed below were actually covered today. We will update
|
||||
https://github.com/dotnet/csharplang/issues/4144 with the collated results when we are done with the triage.
|
||||
|
||||
#### Discriminated Unions
|
||||
|
||||
* https://github.com/dotnet/csharplang/issues/4032 - Track subtype exhaustiveness for classes with only private constructors
|
||||
* Another one for the list
|
||||
|
||||
#### Collection literals
|
||||
|
||||
* https://github.com/dotnet/csharplang/issues/5354 - Collection literals
|
||||
* Complex feature area that we think would benefit from a dedicated working group, even though there is only one issue in the group.
|
||||
* It would be good to have some BCL representation as well.
|
||||
* Could also be related to `init` methods as a method of implementation.
|
||||
|
||||
#### Nullability improvements
|
||||
|
||||
We have some nullability issues that have been around for a few releases, and it would be good to turn the crank on nullability and make these pain points better.
|
||||
|
||||
* https://github.com/dotnet/csharplang/issues/3950 - `Task<T>` nullability covariance
|
||||
* One of the common complaints
|
||||
* https://github.com/dotnet/csharplang/issues/3951 - Nullable analysis of LINQ queries
|
||||
* Another super common complaint
|
||||
* Both LINQ as implemented in the BCL, and as done in 3rd-party libraries
|
||||
|
||||
#### Ungrouped
|
||||
|
||||
The bulk of our meeting today covered smaller issues that are ungrouped.
|
||||
|
||||
* https://github.com/dotnet/csharplang/issues/3885 - Support `readonly` modifier for classes and records
|
||||
* We initially thought this might be an Any Time candidate, but discussion revealed it has some potential interactions with with `readonly` on interfaces.
|
||||
* Backlog for now
|
||||
* https://github.com/dotnet/csharplang/issues/3980 - call local static functions in base constructor
|
||||
* We're not going to make progress on this soon, but we think this is a good Any Time candidate.
|
||||
* It still needs an accepted specification, but we think it should be relatively straightforward to define.
|
||||
* https://github.com/dotnet/csharplang/issues/3986 - `#pragma warning *enable*`
|
||||
* This issue has been unchampioned by the current champion, and no one willing to step up and take it over.
|
||||
* We think there could be potential bad performance interactions with the analyzer ecosystem.
|
||||
* Moved to Likely Never.
|
||||
* https://github.com/dotnet/csharplang/issues/1502 - Five ideas for improving working with fixed buffers
|
||||
* Most of these ideas are already implemented or broken out into separate issues.
|
||||
* We will link the appropriate issues from this one and close it out.
|
||||
* https://github.com/dotnet/csharplang/issues/4018 - Permit variable declarations under disjunctive patterns
|
||||
* There are still a few design decisions to make here, and it's been sitting on our docket for a while.
|
||||
* C# 11 priorities have kept pushing it back.
|
||||
* We hope to make progress in the near future.
|
||||
* https://github.com/dotnet/csharplang/issues/4024 - Direct constructor parameters
|
||||
* This was a suggestion that arose as we were thinking about `record` types, but we're no longer interested in this approach.
|
||||
* Moved to Likely Never.
|
||||
* https://github.com/dotnet/csharplang/issues/4121 - Metadata determination of whether a type is a record
|
||||
* If we want to move towards records inheriting from non-records, then we need to think about this.
|
||||
* Cross-inheritance is not currently in the working set, so this moves to backlog.
|
||||
* https://github.com/dotnet/csharplang/issues/4284 - using aliases for any types
|
||||
* We still want this feature, and have a PR implementing the current design.
|
||||
* There are a few design questions to resolve.
|
||||
* We'll pursue this soon.
|
||||
* https://github.com/dotnet/csharplang/issues/4460 - Only Allow Lexical Keywords in the Language
|
||||
* We've started down this path with the warning wave warning on lowercase type names, but we need to discuss this in more depth.
|
||||
* Source generators are forcing our customers to deal with the pain of our choices, not just us, which is a more compelling reason than avoiding work for ourselves.
|
||||
* https://github.com/dotnet/csharplang/issues/4485 - async method exception filter
|
||||
* The pain here is real, but we're not fans of this approach as the solution, as it's a narrow AOP solution.
|
||||
* A smaller group will brainstorm other approaches, including whether a non-language solution would be possible.
|
||||
* https://github.com/dotnet/csharplang/issues/4748 - Directly invoked anonymous functions
|
||||
* There is universal dislike of this feature on the LDM.
|
||||
* Moved to Likely Never.
|
||||
* https://github.com/dotnet/csharplang/issues/5596 - Adding Index support to existing library types (redux)
|
||||
* This needs BCL input on whether adding more overloads for Index/Range for these extra methods does not work.
|
||||
* Backlog for now.
|
|
@ -29,16 +29,25 @@ All schedule items must have a public issue or checked in proposal that can be l
|
|||
|
||||
## Mon Oct 10, 2022
|
||||
|
||||
- Triage [working set](https://github.com/dotnet/csharplang/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Working+Set%22) and determine working groups (Mads)
|
||||
|
||||
## Wed Oct 5, 2022
|
||||
|
||||
## Wed Sep 28, 2022
|
||||
|
||||
- Triage [working set](https://github.com/dotnet/csharplang/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Working+Set%22) and determine working groups (Mads)
|
||||
|
||||
# C# Language Design Notes for 2022
|
||||
|
||||
Overview of meetings and agendas for 2022
|
||||
|
||||
## Wed Sep 28, 2022
|
||||
|
||||
[C# Language Design Meeting for September 28th, 2022](https://github.com/dotnet/csharplang/blob/main/meetings/2022/LDM-2022-09-28.md)
|
||||
|
||||
- Working set triage
|
||||
- Discriminated Unions
|
||||
- Collection literals
|
||||
- Nullability improvements
|
||||
- Ungrouped
|
||||
|
||||
## Mon Sep 26, 2022
|
||||
|
||||
[C# Language Design Meeting for September 26th, 2022](https://github.com/dotnet/csharplang/blob/main/meetings/2022/LDM-2022-09-26.md)
|
||||
|
|
Загрузка…
Ссылка в новой задаче