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