> Can't quite see where "Inheritance for structs / "newtype"-feature"
> enables this, however. Care to explain?
It's not required, but unless you want to implement a completely new numeric 
type (like fractions), it is tedious to declare all operations and conversions 
that are useful or required:

struct CustomDouble {
        let value: Double
}

func == (a: CustomDouble, b: CustomDouble) -> Bool {
        return abs(a.value - b.value) < 0.01
}

This type can handle the comparison, but actually, you don't want a struct that 
contains a double, but that is a double (and inherits all abilities of this 
type).
Greg Titus already did some research and made the observation that such simple 
container-types have no memory or performance penalty, but as a developer, you 
have to write many stupid functions that do nothing but forwarding operations 
on x to x.value…

Tino
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to