On Tue, Jan 9, 2018 at 00:40 Nevin Brackett-Rozinsky < nevin.brackettrozin...@gmail.com> wrote:
> On Mon, Jan 8, 2018 at 11:53 PM, Xiaodi Wu via swift-evolution < > swift-evolution@swift.org> wrote: > >> Thank you for the clarification. It occurred to me in the shower that >> this might be the case, and that I was entirely mistaken as to what we were >> talking about. >> >> Yes, then, I wholeheartedly agree on this point. Out of curiosity, why >> are there source stability issues to 'typealias DictionaryLiteral<Key, >> Value> = [(Key, Value)]'? > > > Because at the point of use, “DictionaryLiteral” is instantiated with an > actual dictionary literal, eg. “[a: 1, b: 2, c: 3]”, and that syntax isn’t > available for an array of key-value pairs. > Why do we need available syntax? Sure, conformance of [(Key, Value)] to ExpressibleByDictionaryLiteral can't be written in Swift, but we could make this a built-in conformance. Literals are magical in many ways no matter what. As near as I can tell, the convenience of that spelling is the entire > *raison-d’être* for “DictionaryLiteral” in the first place. > > The ulterior question of whether preserving “DictionaryLiteral” is > worthwhile, is apparently out of scope. Personally, I have a hard time > imagining a compelling use-case outside of the standard library, and I > doubt it’s being used “in the wild” (I checked several projects in the > source-compatibility suite and found zero occurrences). > I have seen examples where its use is encouraged, and I see no reason to address this "ulterior question." >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution