Skip to content

Conversation

@BillWagner
Copy link
Member

@BillWagner BillWagner commented Nov 7, 2025

I wrote the bulk of this spec some years ago (based on the V9 MS proposal), and was happy with it. Then several years later, when I started looking at V11 features, I discovered that this topic was revisited (see V11 MS proposal). And I got confused as to which things should go in the V9 standard and which in the V11. Hopefully, I have it right now as far as V9 goes, but anyone reviewing this PR would do well to at least be conversant with how things will be changed in V11, to make sure the V9 spec is complete/correct. [Outside GitHub I have a Word document showing the expected changes for V11; ping me to get a copy (which Bill and Mads also have).] Rex

The commits from #1060 were squashed into one commit in this PR.

There are several comments on #1060 that need to be addressed:

Add support for native-sized integers

Add support for native-sized integers

Add support for native-sized integers

Add support for native-sized integers

Add support for native-sized integers

Add support for native-sized integers

Add support for native-sized integers

Add support for native-sized integers

fix example name

correct link

fix md formatting

fix formatting

fix md formatting

made minor tweaks

Add 2 new types

make minor tweak

Add native types to pointer indexing

Update standard/expressions.md

Co-authored-by: Kalle Olavi Niemitalo <[email protected]>

Update standard/expressions.md

Co-authored-by: Kalle Olavi Niemitalo <[email protected]>

Add support for native-sized integers

fix missing commit
@BillWagner BillWagner changed the title Feature support for native sized integers (nint, and nuint) [Version 9.0] Feature support for native sized integers (nint, and nuint) Nov 7, 2025
@RexJaeschke RexJaeschke added this to the C# 9.0 milestone Nov 9, 2025
### 8.3.5 Simple types
C# provides a set of predefined `struct` types called the simple types. The simple types are identified through keywords, but these keywords are simply aliases for predefined `struct` types in the `System` namespace, as described in the table below.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I struck the first sentence as this is already stated in 8.3.1.

@RexJaeschke
Copy link
Contributor

Can someone please check if changes should be made to §12.6.4.7.

Comment on lines -2277 to -2280
- a value of an array type, the *element_access* is an array access ([§12.8.12.2](expressions.md#128122-array-access));
- a value of `string` type, the *element_access* is a string access ([§12.8.12.3](expressions.md#128123-string-access));
- otherwise, the *primary_expression* shall be a variable or value of a class, struct, or interface type that has one or more indexer members, in which case the *element_access* is an indexer access ([§12.8.12.4](expressions.md#128124-indexer-access)).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These lines need to be restored. I have no idea how/why they were deleted.

@RexJaeschke RexJaeschke added the type: feature This issue describes a new feature label Nov 12, 2025
@RexJaeschke RexJaeschke added the Review: pending Proposal is available for review label Nov 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Review: pending Proposal is available for review type: feature This issue describes a new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants