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

David Sweeris davesweeris at mac.com
Sat Jul 8 23:35:07 CDT 2017


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 at 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 at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users


More information about the swift-users mailing list