Why would you want to fake the original storage and create a second stored property and waste memory? (Nothing sarcastic in this question.)
If we'd allow this, you could write code as follows, but why would you want that?
class A {
@IntWrapper(initialValue: 1) var number: Int
func numberFromA() -> Int {
return $number.value
}
}
class B: A {
@IntWrapper(initialValue: 2) override var number: Int
func numberFromB() -> Int {
return $number.value
}
}
let b = B()
b.numberFromA() // 1
b.numberFromB() // 2