sorry if this was already discussed.

proposing an ability to derive a class from a struct or another value type
(e.g. enum).
would make it easy to wrap value type in a reference type without explicit
code:

struct S {
    var v: Int
    func method() {}
    static staticMethod() {}
}

class C: S {
func otherMethod() {}
// ...
}

let c = C()

c.v = 1
c.method()
C.staticMethod()
c.otherMethod()

shall work as if i had a struct variable and all struct functions
implemented in a class calling through that var:

pseudo code:

class C {

// auto generated internally:
    var `struct`: S

    func method() {
        `struct`.method()
    }
    static staticMethod() {
        S.staticMethod()
    }
//---

func otherMethod() {}
}

would also be nice to have ability to overload struct's methods:

class C: S {
    override func method() {
        super.method()
    }
}

and have struct initializators inherited:

let c = C(struct initialization params)

thoughts?

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

Reply via email to