On Jan 8, 2018, at 11:07 PM, Nate Cook <n...@natecook.com> wrote: >>> >>> The old name can live on indefinitely via a typealias (which has no ABI >>> consequences, so could be retired at a later date once everyone has had >>> plenty of time to address the deprecation warnings). Removing it as not >>> carrying its weight (and instead using `[(Key,Value)]`, which is basically >>> what it’s a wrapper for) is probably off the table for source stability >>> reasons. >> >> I’m not familiar with this type at all, so I apologize for the dumb question >> but… why was this added in the first place? If it is the wrong thing, why >> not just deprecate it in Swift 5 and remove it in a future release? That >> avoids it being an ABI concern, because we could make it be force inlined >> into any client code. > > According to now-gone doc comments, it's intended to be used when providing > the children for a custom mirror (that's the only API I know of that uses the > type). The order of elements there is important, but given how scarcely used > the type is, an array of tuples might be a reasonable (though > source-breaking) substitute. > >> Finally, is anyone actually using this type? > > In the standard library, we have this Mirror initializer: > https://developer.apple.com/documentation/swift/mirror/1540408-init > <https://developer.apple.com/documentation/swift/mirror/1540408-init>. If > anyone is customizing their type's mirror, it's a good bet that they're > calling that init and passing a literal that would break if the argument > changed to an array. The translation should be mechanical, so maybe it could > be a migrator fix? (I don't know enough about how that works to know.)
Ah I see. What is the plan for Mirrors? I thought they had numerous known deficiencies and should be replaced with a better reflection system. Are they going to make the jump to ABI stability? -Chris
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution