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> 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> 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