Oh! Yeah, my bad... You are correct; I'd started thinking like I was on 
-evolution instead of -users.


> On Oct 19, 2017, at 1:29 PM, Itai Ferber <ifer...@apple.com> wrote:
> 
> Mm, the point I’m trying to get at here is that JSON is inherently untyped 
> while Swift is strongly typed, and the two don’t line up.
> It doesn’t really make sense to ask to decode an existential because there’s 
> not enough type information to influence what you get back.
> 
> On 19 Oct 2017, at 13:20, David Sweeris wrote:
> 
> I think if you can figure that out, you’re halfway to letting protocols 
> conform to themselves.
> 
> (Syntactically, I would probably say that something like “Codable.Self” would 
> read well, but I think that already means something. Maybe the answer will 
> become clearer when we rework the reflection APIs?)
> 
> Sent from my iPhone
> 
> On Oct 19, 2017, at 13:13, Itai Ferber <ifer...@apple.com 
> <mailto:ifer...@apple.com>> wrote:
> 
>> Even then, that wouldn’t necessarily help in the general case. If you decode 
>> {"key" : 1} as [String : Codable], what concrete type would 1 have? Int? 
>> Double? Int8? (Arguments can be made for any one of these, but the key here 
>> is that it is inherently ambiguous and there isn’t necessarily a good 
>> answer.)
>> 
>> On 19 Oct 2017, at 12:57, David Sweeris wrote:
>> 
>> On Oct 19, 2017, at 12:50 PM, David Baraff via swift-users 
>> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote:
>> 
>> Yes; this is a case where anywhere in the code base I want to just say
>> struct MyNewType : Codable {
>> // add codable datatypes
>> }
>> 
>> and don’t want/can’t always go to the centralized place to add it in.
>> Is there some extension-like trick I can pull off that lets me spread the 
>> implementation out over different files/libraries?
>> 
>> Ah, ok.
>> 
>> No, I don't think you'll be able to do that until/unless Swift gets more 
>> macro/metaprogramming features. Maybe if protocols ever get to conform to 
>> themselves? That's a common request, but implementing it is apparently 
>> beyond tricky. I'm pretty sure somebody's working on it, but "bigger fish" 
>> and all that...
>> 
>> - Dave Sweeris
>> 
> 

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to