**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 <!-- Please explain briefly why you think it shouldn't be included. --> **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 <!-- 1. Open the project on LGTM.com. For example, https://lgtm.com/projects/g/pallets/click/. 2. Switch to the `Alerts` tab. For example, https://lgtm.com/projects/g/pallets/click/alerts/. 3. Scroll to the alert that you would like to report. 4. Click on the right most icon `View this alert within the complete file`. 5. A new browser tab opens. Copy and paste the page URL here. For example, https://lgtm.com/projects/g/pallets/click/snapshot/719fb7d8322b0767cdd1e5903ba3eb3233ba8dd5/files/click/_winconsole.py#xa08d213ab3289f87:1. -->