Skip to content

LGTM.com - false positive - cs/equals-on-unrelated-types for types like Uri that override Equals #2751

Open
@ahsonkhan

Description

@ahsonkhan

Description of the false positive

In general, the cs/equals-on-unrelated-types rule makes sense: https://lgtm.com/rules/1506096656531/

However, there are certain types, such as Uri which handle specific sets of types for equality in the Equals override method. In this particular case, Uri.Equals allows for the object to be string and tries to create a Uri from that string before comparing.
https://github.com/dotnet/runtime/blob/94ca567c76d4b2a8a5b2e744e3d9559abbcefdb0/src/libraries/System.Private.Uri/src/System/Uri.cs#L1629-L1657

URL to the alert on the project page on LGTM.com

https://lgtm.com/projects/g/dotnet/corefx/snapshot/4fed824926d1c659c494bd5261fbae0236b2e9da/files/src/System.Private.Uri/src/System/UriBuilder.cs?sort=name&dir=ASC&mode=heatmap#V364

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions