Skip to content

Add generic IStructuralEquatable<T> and IStructuralComparable<T> #37482

@charlesroddie

Description

@charlesroddie

Currently there is a non-generic IStructuralEquatable. This causes 1. loss of type safety, including requirements for implementing code to downcast, 2. poor performance especially with structs.

So generic IStructuralEquatable and IStructuralComparable should be added.

There is good progress towards obsoletion of non-generic non-structural equality and comparison, with the deprecation of collection classes that use them: non-generic collections shouldn't be used

A similar approach should be taken for IStructuralEquatable and IStructuralComparable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    api-needs-workAPI needs work before it is approved, it is NOT ready for implementationarea-System.Runtime

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions