Re: [swift-users] Filling two type parameters with the same type

2017-07-08 Thread Zhao Xin via swift-users
Sorry Dave, I didn't notice that you said in `extension`. I just put the "where Source == Displacement" to the original poster's code and the error showed. My bad. Zhao Xin On Sun, Jul 9, 2017 at 1:56 PM, David Sweeris wrote: > Hmm... I just tried it in a playground, and it works: > struct Dist

Re: [swift-users] Filling two type parameters with the same type

2017-07-08 Thread David Sweeris via swift-users
Hmm... I just tried it in a playground, and it works: struct DistortedNoise { let source:Source, displacement:Displacement init(source:Source, displacement:Displacement) { self.source = source self.displacement = displacement } } extension DistortedNoise where Source =

Re: [swift-users] Filling two type parameters with the same type

2017-07-08 Thread David Sweeris via swift-users
Oh, I hate that error! If there was ever a time I've wanted to have a conversation with the compiler... "yes, mr compiler, I know the same type requirement makes them equivalent; that's why I wrote it! Please compile anyway." Which version of the compiler/language are you using? Sent from my i

Re: [swift-users] Filling two type parameters with the same type

2017-07-08 Thread Zhao Xin via swift-users
typealias now = not. Zhao Xin On Sun, Jul 9, 2017 at 12:39 PM, Zhao Xin wrote: > No, David, it is now allowed. "error: same-type requirement makes generic > parameters 'Source' and 'Displacement' equivalent". > > Zhao Xin > > On Sun, Jul 9, 2017 at 12:35 PM, David Sweeris via swift-users < > s

Re: [swift-users] Filling two type parameters with the same type

2017-07-08 Thread Zhao Xin via swift-users
No, David, it is now allowed. "error: same-type requirement makes generic parameters 'Source' and 'Displacement' equivalent". Zhao Xin On Sun, Jul 9, 2017 at 12:35 PM, David Sweeris via swift-users < swift-users@swift.org> wrote: > You could try putting that init in an extension "where Source =

Re: [swift-users] Filling two type parameters with the same type

2017-07-08 Thread David Sweeris via swift-users
You could try putting that init in an extension "where Source == Displacement" > On Jul 8, 2017, at 21:06, Taylor Swift via swift-users > wrote: > > I have a type like > > struct DistortedNoise where Source:Noise, > Displacement:Noise > { > let source:Source, > displacement:Displ

Re: [swift-users] Filling two type parameters with the same type

2017-07-08 Thread Zhao Xin via swift-users
Please try this: struct DistortedNoise where Source:Noise { typealias Displacement = Source let source:Source let displacement:Displacement init(source:Source, displacement:Displacement) { self.source = source self.displacement = displacement

Re: [swift-users] Filling two type parameters with the same type

2017-07-08 Thread somu subscribe via swift-users
Hi Taylor, If both Source and Displacement are going to be Noise, you could use just one placeholder type. class Noise {} struct DistortedNoise where Item:Noise { let source:Item, displacement:Item init(source:Item, displacement:Item) { self.source = source

[swift-users] Filling two type parameters with the same type

2017-07-08 Thread Taylor Swift via swift-users
I have a type like struct DistortedNoise where Source:Noise, Displacement:Noise { let source:Source, displacement:Displacement init(source:Source, displacement:Displacement) { self.source = source self.displacement = displacement } init(source:So