Skip to content

Port System.Collections docs for .NET 9 APIs #105976

Description

@carlossanlop

Below is the list of APIs that still show up as undocumented in dotnet-api-docs and were introduced in .NET 9.

Full porting instructions can be found in the main issue.

This task needs to be finished the day before the RC2 snap (September 15th).

RC1 APIs as of 2024/10/01: #105976 (comment)

Activity

  1. added this to the 9.0.0 milestone on Aug 5, 2024
  2. dotnet-policy-service commented on Aug 5, 2024

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @dotnet/area-system-collections
    See info in area-owners.md if you want to be subscribed.

  3. carlossanlop commented on Aug 6, 2024

    @carlossanlop
    ContributorAuthor

    Here's a PR that ports some that we missed in the first pass: dotnet/dotnet-api-docs#10209

  4. carlossanlop commented on Aug 21, 2024

    @carlossanlop
    ContributorAuthor

    P7 Undoc APIs as of 08/20:

    Summary Parameters TypeParameters ReturnValue API
    Missing Missing Missing Missing M:System.Collections.Concurrent.ConcurrentDictionary2.TryGetAlternateLookup1(System.Collections.Concurrent.ConcurrentDictionary2.AlternateLookup{0,1,0}@)
    Present NA Missing NA T:System.Collections.Concurrent.ConcurrentDictionary2.AlternateLookup1
    Present Present NA Missing M:System.Collections.Concurrent.ConcurrentDictionary2.AlternateLookup1.TryGetValue(2,0@,1@)
    Present Present NA Missing M:System.Collections.Concurrent.ConcurrentDictionary2.AlternateLookup1.TryGetValue(2,1@)
    Missing Missing Missing Missing M:System.Collections.Frozen.FrozenDictionary2.TryGetAlternateLookup1(System.Collections.Frozen.FrozenDictionary2.AlternateLookup{0,1,0}@)
    Present NA Missing NA T:System.Collections.Frozen.FrozenDictionary2.AlternateLookup1
    Present Present NA Missing M:System.Collections.Frozen.FrozenDictionary2.AlternateLookup1.TryGetValue(2,1@)
    Missing Missing Missing Missing M:System.Collections.Frozen.FrozenSet1.TryGetAlternateLookup1(System.Collections.Frozen.FrozenSet1.AlternateLookup{0,0}@)
    Present NA Missing NA T:System.Collections.Frozen.FrozenSet1.AlternateLookup1
    Present NA Missing NA T:System.Collections.Generic.Dictionary2.AlternateLookup1
    Present Present NA Missing M:System.Collections.Generic.Dictionary2.AlternateLookup1.TryGetValue(2,1@)
    Present Present NA Missing M:System.Collections.Generic.Dictionary2.AlternateLookup1.TryGetValue(2,0@,1@)
    Present NA Missing NA T:System.Collections.Generic.HashSet1.AlternateLookup1
    Present Missing NA Present M:System.Collections.Generic.OrderedDictionary2.KeyCollection.Contains(0)
  5. eiriktsarpalis commented on Aug 29, 2024

    @eiriktsarpalis
    Member

    With the exception of all the TryGetValue methods, everything else in this table appears to be documented in source, for example the entry in the first row:

    /// <summary>
    /// Gets an instance of a type that may be used to perform operations on a <see cref="ConcurrentDictionary{TKey, TValue}"/>
    /// using a <typeparamref name="TAlternateKey"/> as a key instead of a <typeparamref name="TKey"/>.
    /// </summary>
    /// <typeparam name="TAlternateKey">The alternate type of a key for performing lookups.</typeparam>
    /// <param name="lookup">The created lookup instance when the method returns true, or a default instance that should not be used if the method returns false.</param>
    /// <returns>true if a lookup could be created; otherwise, false.</returns>
    /// <remarks>
    /// This instance must be using a comparer that implements <see cref="IAlternateEqualityComparer{TAlternateKey, TKey}"/> with
    /// <typeparamref name="TAlternateKey"/> and <typeparamref name="TKey"/>. If it doesn't, the method will return false.
    /// </remarks>
    public bool TryGetAlternateLookup<TAlternateKey>(out AlternateLookup<TAlternateKey> lookup) where TAlternateKey : notnull, allows ref struct

    Running the tool again locally seems to be skipping over these missing docs as well. @carlossanlop any suggestions or should I just port the missing docs manually?

  6. added
    in-prThere is an active PR which will close this issue when it is merged
    on Aug 29, 2024
  7. carlossanlop commented on Aug 29, 2024

    @carlossanlop
    ContributorAuthor

    Running the tool again locally seems to be skipping over these missing docs as well. @carlossanlop any suggestions or should I just port the missing docs manually?

    That's not good. What command were you using? Do any of the APIs live under System.Private.CoreLib?

  8. eiriktsarpalis commented on Aug 29, 2024

    @eiriktsarpalis
    Member

    I followed the instructions from the parent issue. Some APIs are SPCL but others are regular libs so I don't think it's related.

  9. jeffhandley commented on Oct 8, 2024

    @jeffhandley
    Member

    Adding @buyaa-n for some load-balancing.

  10. eiriktsarpalis commented on Oct 8, 2024

    @eiriktsarpalis
    Member

    The missing APIs are documented in source. I re-ran the porting tool and hit the same issue I reported in #105976 (comment). At the time I had hand-ported the missing docs to dotnet-api-docs in dotnet/dotnet-api-docs#10338 but the APIs got moved to a different location in RC1. Unless somebody else picks this up, I'll look at re-hand porting the docs later in the week or next week but ideally this should be solved in the tooling.

  11. locked and limited conversation to collaborators on Nov 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area-System.CollectionsdocumentationDocumentation bug or enhancement, does not impact product or test codein-prThere is an active PR which will close this issue when it is merged

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions