Skip to content

Conversation

@BillWagner
Copy link
Member

@BillWagner BillWagner commented Nov 6, 2025

Updates notes for V9 feature branches and new draft PRs for V9 features:

  • Init accessors
  • Top level statements
  • native-sized integers
  • records
  • function pointers
  • v9 patterns
  • static anonymous functions
  • target-typed conditional expressions
  • covariant return types
  • Extension GetEnumerator support
  • lambda discard parameters
  • attributes and extern on local functions
  • Module initializers
  • partial method updates
  • target-typed new
  • Unconstrained type parameter annotation
  • Variance safety for static interface members
  • Nullable reference type updates (better static analysis, default constraint)

@BillWagner
Copy link
Member Author

The PR for target-typed conditional expressions (#1071) seems corrupt. Skipping that one for now.

@BillWagner BillWagner changed the base branch from draft-v8 to draft-v9 November 11, 2025 16:34
@BillWagner
Copy link
Member Author

Also, skipping covariant return types, as there isn't a draft PR yet.

@RexJaeschke
Copy link
Contributor

@BillWagner I just created Draft PR #1462 for covariant return types and checked that box in this PR's feature tracking list.

@RexJaeschke
Copy link
Contributor

@BillWagner I just created Draft PR #1465 for (the previously damaged) target-type conditional expressions feature spec and checked that box in this PR's feature tracking list.

Update branches and PRs for the V9 admin tracker
@BillWagner BillWagner marked this pull request as ready for review November 11, 2025 22:31
@BillWagner
Copy link
Member Author

@RexJaeschke

This is ready for review and merging. All the V9 PRs are in feature branches.

@RexJaeschke
Copy link
Contributor

@BillWagner I still have 4 of these to review, but I agree that you have moved all those that needed moving (including 1221, nullable attributes held over from v8). So I'll approve this PR. That said, I do have some questions about seemingly odd things that happened during the move in at least 2 of those remaining 4, but I'll get back to you on those separately.

Separately, the following specs are in the MS v9 proposals folder, and for which I have not created a PR:

  1. https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/skip-localsinit.md
  2. https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/nullable-constructor-analysis.md
  3. https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/nullable-parameter-default-value-analysis.md

As I noted in their corresponding entries in the GitHub v9 feature tracker, as far as I can tell, these are compiler/implementation issues and need no text in the language spec. Please look at them to see if that is correct.

@RexJaeschke
Copy link
Contributor

@Bill I made corrections to 2 PR number links, and once you confirm those are correct I can approve this.

@BillWagner
Copy link
Member Author

Thanks @RexJaeschke Those corrections are correct.

@RexJaeschke RexJaeschke self-requested a review November 12, 2025 14:21
@RexJaeschke RexJaeschke merged commit 8c6137d into dotnet:draft-v9 Nov 12, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants