Re: [swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-09-12 Thread Paul Cantrell via swift-evolution
> On Sep 12, 2016, at 12:04 PM, Douglas Gregor wrote: > >> On Sep 12, 2016, at 8:14 AM, Paul Cantrell > > wrote: > >> // ...but this, oh dear: >> >> extension Optional.None: JSONRepresentable { } > > This will be

Re: [swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-09-12 Thread Douglas Gregor via swift-evolution
> On Sep 12, 2016, at 8:14 AM, Paul Cantrell wrote: > > >> On Aug 11, 2016, at 9:39 PM, Douglas Gregor via swift-evolution >> > wrote: >> >> FWIW, I'm planning to write a complete proposal for conditional

Re: [swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-09-12 Thread Paul Cantrell via swift-evolution
> On Aug 11, 2016, at 9:39 PM, Douglas Gregor via swift-evolution > wrote: > > FWIW, I'm planning to write a complete proposal for conditional conformances > and will start posting drafts once it is far enough along to be useful. I’m looking forward to that! I’ll

Re: [swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-09-10 Thread Douglas Gregor via swift-evolution
Sent from my iPhone > On Sep 10, 2016, at 2:26 PM, Maximilian Hünenberger > wrote: > > > >> Am 12.08.2016 um 04:39 schrieb Douglas Gregor via swift-evolution >> : >> >> >> >> Sent from my iPhone >> >>> On Aug 4, 2016, at 2:36 AM,

Re: [swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-09-10 Thread Maximilian Hünenberger via swift-evolution
> Am 12.08.2016 um 04:39 schrieb Douglas Gregor via swift-evolution > : > > > > Sent from my iPhone > >> On Aug 4, 2016, at 2:36 AM, Haravikk via swift-evolution >> wrote: >> >> On 4 Aug 2016, at 03:19, Brent Royal-Gordon via

Re: [swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-08-12 Thread Dave Abrahams via swift-evolution
on Thu Aug 11 2016, Douglas Gregor wrote: > Sent from my iPhone > >> On Aug 4, 2016, at 2:36 AM, Haravikk via swift-evolution >> wrote: >> >> On 4 Aug 2016, at 03:19, Brent Royal-Gordon via swift-evolution

Re: [swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-08-11 Thread Douglas Gregor via swift-evolution
Sent from my iPhone > On Aug 4, 2016, at 2:36 AM, Haravikk via swift-evolution > wrote: > > >>> On 4 Aug 2016, at 03:19, Brent Royal-Gordon via swift-evolution >>> wrote: >>> >>> On Aug 3, 2016, at 10:17 AM, Manav Gabhawala via

Re: [swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-08-05 Thread Patrick Pijnappel via swift-evolution
I'm not very familiar with the runtime so forgive me – the protocols would only have to be added once right? And couldn't this usually be done at compile time, or does it happen when the module is linked at startup? On Thu, Aug 4, 2016 at 4:36 PM, Haravikk via swift-evolution <

Re: [swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-08-04 Thread Haravikk via swift-evolution
> On 4 Aug 2016, at 03:19, Brent Royal-Gordon via swift-evolution > wrote: > >> On Aug 3, 2016, at 10:17 AM, Manav Gabhawala via swift-evolution >> wrote: >> >> I was wondering why this would put any more of a burden on the runtime >>

Re: [swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-08-03 Thread Brent Royal-Gordon via swift-evolution
> On Aug 3, 2016, at 10:17 AM, Manav Gabhawala via swift-evolution > wrote: > > I was wondering why this would put any more of a burden on the runtime > than simple inheritance of protocols. The way this could be > implemented is to augment the ConformanceTable for

[swift-evolution] [Swift 4.0] Conditional conformances via protocol extensions

2016-08-03 Thread Manav Gabhawala via swift-evolution
In the generics manifesto (https://github.com/apple/swift/blob/master/docs/GenericsManifesto.md) conditional conformances via protocol extensions is under unlikely. The manifesto notes: "This is an extremely powerful feature: is allows one to map the abstractions of one domain into another