Skip to content

Add doc comments to all C.3 types #1677

Description

@RexJaeschke

On the 2026-05-06 TG2 call, we decided to add documentation comments to all C.3 types in the same way as Nigel did for Index and Range in V8. (Nigel took the comments from the Roslyn source code, modifying them as needed.)

Below is a list of all those types, from V5 through V12.

  • There are 10 V5 types needing doc comments.
  • There are 1 V6 types needing doc comments.
  • There are 8 V7 types needing doc comments.
  • There are 19 V8 types needing doc comments.
  • There are 14 V9 types needing doc comments.
  • There are 4 V10 types needing doc comments.
  • There are 4 V11 types needing doc comments.
  • There are 3 V12 types needing doc comments.

namespace System

  • [] V8: interface IAsyncDisposable
  • [] V7: class FormattableString
  • [] V11: class MemoryExtensions
  • [] V9: class OperationCanceledException
  • V8: struct Index
  • V8: struct Range
  • [] V7: struct ReadOnlySpan<T>
  • [] V7: struct Span<T>
  • [] V8: struct ValueTuple<T1>
  • [] V8: struct ValueTuple<T1, T2>
  • [] V8: struct ValueTuple<T1, T2, T3>
  • [] V8: struct ValueTuple<T1, T2, T3, T4>
  • [] V8: struct ValueTuple<T1, T2, T3, T4, T5>
  • [] V8: struct ValueTuple<T1, T2, T3, T4, T5, T6>
  • [] V8: struct ValueTuple<T1, T2, T3, T4, T5, T6, T7>
  • [] V8: struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>

namespace System.Collections.Generic

  • [] V8: interface IReadOnlyCollection<out T>
  • [] V8: interface IReadOnlyList<out T>
  • [] V8: interface IAsyncEnumerable<out T>
  • [] V8: interface IAsyncEnumerator<out T>

namespace System.Diagnostics.CodeAnalysis

  • [] V9: class AllowNullAttribute
  • [] V9: class DisallowNullAttribute
  • [] V9: class DoesNotReturnAttribute
  • [] V9: class DoesNotReturnIfAttribute
  • [] V9: class MaybeNullAttribute
  • [] V9: class MaybeNullWhenAttribute
  • [] V9: class MemberNotNullAttribute
  • [] V9: class MemberNotNullWhenAttribute
  • [] V9: class NotNullAttribute
  • [] V9: class NotNullIfNotNullAttribute
  • [] V9: class NotNullWhenAttribute
  • [] V11: class UnscopedRefAttribute
  • [] V11: class SetsRequiredMembersAttribute

namespace System.Linq.Expressions

  • [] V5: class Expression<TDelegate>

namespace System.Runtime.CompilerServices

  • [] V12: class CollectionBuilderAttribute
  • [] V10: struct DefaultInterpolatedStringHandler
  • [] V7: class AsyncMethodBuilderAttribute
  • [] V10: class CallerArgumentExpressionAttribute
  • [] V5: class CallerFilePathAttribute
  • [] V5: class CallerLineNumberAttribute
  • [] V5: class CallerMemberNameAttribute
  • [] V8: class EnumeratorCancellationAttribute
  • [] V6: class FormattableStringFactory
  • [] V12: class InlineArrayAttribute
  • [] V5: interface ICriticalNotifyCompletion
  • [] V5: interface INotifyCompletion
  • [] V10: class InterpolatedStringHandlerArgumentAttribute
  • [] V10: class InterpolatedStringHandlerAttribute
  • V8: interface ITuple
  • [] V9: class ModuleInitializerAttribute
  • [] V11: class RequiredMemberAttribute
  • [] V5: struct TaskAwaiter
  • [] V5: struct TaskAwaiter<TResult>
  • [] V9: class UnmanagedCallersOnlyAttribute
  • [] V7: struct ValueTaskAwaiter
  • [] V7: struct ValueTaskAwaiter<TResult>

namespace System.Threading

  • [] V8: class CancellationTokenSource
  • [] V8: struct CancellationToken

namespace System.Threading.Tasks

  • [] V5: class Task
  • [] V5: class Task<TResult>
  • [] V7: struct ValueTask
  • [] V7: struct ValueTask<TResult>

Metadata

Metadata

Assignees

Labels

status: in-progressThe assignee has actively started working on this; consult with them before taking other actions

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions