Skip to content

Add doc comments to all C.3 types as was done for Index and Range in V8 #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

No one assigned

    Labels

    No labels
    No labels

    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