It's mainly to support heterogeneous dictionary literals. There's not usually a need to upcast to AnySequence regularly, since most things that take sequences should be using generics, but heterogeneity and generics don't play well together.
Jordan > On Aug 19, 2016, at 9:00, Tim Vermeulen via swift-users > <swift-users@swift.org> wrote: > > Any idea why Swift supports implicit casting to AnyHashable, but not to, say, > AnySequence? > >>> On Aug 18, 2016, at 9:54 AM, Adel Zhang via >>> swift-users<swift-users@swift.org>wrote: >>> >>> Any other situation when implicit type casting works? >> I don't know if there's a comprehensive list anywhere. Here are the ones I >> can think of: >> >> 1. A subtype can be used where a supertype is expected; for instance, you >> can pass an `Int` to a parameter typed `Any` without a cast. The same is >> true of superclasses: `NSString` can be used where `NSObject` is expected. >> Obvious, but worth mentioning. >> >> 2. Swift 3's `AnyHashable` isn't *really* a supertype of `Hashable` types, >> but it's sort of treated as one. >> >> 3. The built-in `Array`, `Dictionary`, `Set`, and `Optional` types can be >> implicitly converted to the same data structure, but with supertypes of its >> generic parameters. For instance, an `Array<Int>` can be passed to a >> parameter of type `Array<Any>`. This is not a general feature of >> generics—it's special-cased for these types. >> >> 4. As you noticed, a type can be implicitly made more `Optional`; that is, >> `Int` converts to `Optional<Int>`, `Optional<Optional<Int>>`, and so on. >> >> 5. In Swift 2, importing Foundation activates many implicit conversions >> between Foundation and Standard Library types, including conversions to >> AnyObject. Many (perhaps all?) are gone in Swift 3. (However, Foundation >> still has plenty of magical `as` casts.) >> >> Hope this helps, >> -- >> Brent Royal-Gordon >> Architechies >> >> >> >> > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users