You could try putting that init in an extension "where Source == Displacement"

> On Jul 8, 2017, at 21:06, Taylor Swift via swift-users 
> <swift-users@swift.org> wrote:
> 
> I have a type like 
> 
> struct DistortedNoise<Source, Displacement> where Source:Noise, 
> Displacement:Noise
> {
>     let source:Source,
>         displacement:Displacement
> 
>     init(source:Source, displacement:Displacement)
>     {
>         self.source       = source
>         self.displacement = displacement
>     }
> 
>     init(source:Source)
>     {
>         self.source       = source
>         self.displacement = source
>     }
> }
> 
> and I get the error 
> 
> Compile Swift Module 'Noise' (5 sources)
> /home/taylor/noise/sources/noise/noise.swift:576:29: error: 'Source' is not 
> convertible to 'Displacement'
>         self.displacement = source
>                             ^~~~~~
> 
> How do I tell Swift that I want the same type fulfilling both Source and 
> Displacement?
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to