Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a normative spec reference for all types not in the CLI spec #1135

Draft
wants to merge 4 commits into
base: draft-v8
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions standard/normative-references.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ ISO/IEC 2382, *Information technology — Vocabulary*.

ISO/IEC 60559:2020, *Information technology — Microprocessor Systems — Floating-Point arithmetic*

*.NET API Documentation*, https://learn.microsoft.com/en-us/dotnet/api
Copy link
Member

Choose a reason for hiding this comment

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

For C# 8, we should link to the .NET Core 3.1 version of the APIs. We should also remove the locale:

Suggested change
*.NET API Documentation*, https://learn.microsoft.com/en-us/dotnet/api
*.NET API Documentation*, https://learn.microsoft.com/dotnet/api/?view=netcore-3.1


The Unicode Consortium. The Unicode Standard, https://www.unicode.org/standard/standard.html
6 changes: 3 additions & 3 deletions standard/standard-library.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## C.1 General

A conforming C# implementation shall provide a minimum set of types having specific semantics. These types and their members are listed here, in alphabetical order by namespace and type. For a formal definition of these types and their members, refer to ISO/IEC 23271:2012 *Common Language Infrastructure (CLI), Partition IV; Base Class Library (BCL), Extended Numerics Library, and Extended Array Library*, which are included by reference in this specification.
A conforming C# implementation shall provide a minimum set of types having specific semantics. These types and their members are listed here, in alphabetical order by namespace and type. For a formal definition of these types and their members, refer to ISO/IEC 23271:2012 *Common Language Infrastructure (CLI), Partition IV; Base Class Library (BCL), Extended Numerics Library*, and Extended Array Library, which is supplemented by the *.NET API Documentation*, both of which are included by reference in this specification. (The .NET API Documentation can be searched using the fully qualified name of a type, as in `System.FormattableString` and the generic type `System.Threading.Tasks.Task<`.)

**This text is informative.**

Expand All @@ -22,7 +22,7 @@ It is expected that a conforming C# implementation will supply a significantly
## C.2 Standard Library Types defined in ISO/IEC 23271

> *Note:* Some `struct` types below have the `readonly` modifier. This modifier was not available
> when ISO/IEC 23271 was released, but is required for conforming implementations of this specification. *end note*
> when ISO/IEC 23271:2012 was released, but is required for conforming implementations of this specification. That modifier is, however, present in the .NET API Documentation for those types. *end note*

```csharp
namespace System
Expand Down Expand Up @@ -457,7 +457,7 @@ namespace System.Threading

## C.3 Standard Library Types not defined in ISO/IEC 23271

The following types, including the members listed, shall be defined in a conforming standard library. (These types might be defined in a future edition of ISO/IEC 23271.) It is expected that many of these types will have more members available than are listed.
The following types, including the members listed, shall be defined in a conforming standard library. These types are not defined in ISO/IEC 23271:2012, but might be defined in a future edition of that specification. Until that occurs, the definitions of those types can be obtained from the .NET API Documentation. It is expected that many of these types as defined there will have more members available than are required by a conforming C# implementaion.

A conforming implementation may provide `Task.GetAwaiter()` and `Task<TResult>.GetAwaiter()` as extension methods.

Expand Down
Loading