swiftlang/swift

[SR-5819] Suggest `as? AnyHashable` when `as? Equatable` or `as? Hashable` is attempted

Open

#48.389 aperta il 1 set 2017

Vedi su GitHub
 (8 commenti) (0 reazioni) (0 assegnatari)Swift (10.719 fork)batch import
bugcompilerdiagnostics qualitygood first issue

Metriche repository

Star
 (69.989 star)
Metriche merge PR
 (Merge medio 8g 17h) (510 PR mergiate in 30 g)

Descrizione

Previous ID SR-5819
Radar None
Original Reporter @jckarter
Type Bug
Votes 0
Component/s Compiler
Labels Bug, DiagnosticsQoI, StarterBug
Assignee None
Priority Medium

md5: 5e4ffb6d40f711123adf86651f9a3a8f

Issue Description:

If you have two values of type Any or otherwise opaque type and you want to test whether they're equal, it's natural to try to write something like:

if let a = a as? Equatable, b = b as? Equatable {
  return a == b
}

Maybe someday that will work, but in the meantime dynamically casting to AnyHashable can get the desired effect. It'd be nice QoI to have a diagnostic telling people they can do this when they try similar things that don't.

Guida contributor