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
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>
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
IndexandRangein 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.
namespace Systeminterface IAsyncDisposableclass FormattableStringclass MemoryExtensionsclass OperationCanceledExceptionstruct Indexstruct Rangestruct ReadOnlySpan<T>struct Span<T>struct ValueTuple<T1>struct ValueTuple<T1, T2>struct ValueTuple<T1, T2, T3>struct ValueTuple<T1, T2, T3, T4>struct ValueTuple<T1, T2, T3, T4, T5>struct ValueTuple<T1, T2, T3, T4, T5, T6>struct ValueTuple<T1, T2, T3, T4, T5, T6, T7>struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>namespace System.Collections.Genericinterface IReadOnlyCollection<out T>interface IReadOnlyList<out T>interface IAsyncEnumerable<out T>interface IAsyncEnumerator<out T>namespace System.Diagnostics.CodeAnalysisclass AllowNullAttributeclass DisallowNullAttributeclass DoesNotReturnAttributeclass DoesNotReturnIfAttributeclass MaybeNullAttributeclass MaybeNullWhenAttributeclass MemberNotNullAttributeclass MemberNotNullWhenAttributeclass NotNullAttributeclass NotNullIfNotNullAttributeclass NotNullWhenAttributeclass UnscopedRefAttributeclass SetsRequiredMembersAttributenamespace System.Linq.Expressionsclass Expression<TDelegate>namespace System.Runtime.CompilerServicesclass CollectionBuilderAttributestruct DefaultInterpolatedStringHandlerclass AsyncMethodBuilderAttributeclass CallerArgumentExpressionAttributeclass CallerFilePathAttributeclass CallerLineNumberAttributeclass CallerMemberNameAttributeclass EnumeratorCancellationAttributeclass FormattableStringFactoryclass InlineArrayAttributeinterface ICriticalNotifyCompletioninterface INotifyCompletionclass InterpolatedStringHandlerArgumentAttributeclass InterpolatedStringHandlerAttributeinterface ITupleclass ModuleInitializerAttributeclass RequiredMemberAttributestruct TaskAwaiterstruct TaskAwaiter<TResult>class UnmanagedCallersOnlyAttributestruct ValueTaskAwaiterstruct ValueTaskAwaiter<TResult>namespace System.Threadingclass CancellationTokenSourcestruct CancellationTokennamespace System.Threading.Tasksclass Taskclass Task<TResult>struct ValueTaskstruct ValueTask<TResult>