> On 18 Aug 2016, at 16:32, John McCall <[email protected]> wrote:
>
> Unapplied method references still dispatch down. It's a pretty simple
> experiment to run for yourself.
When I tried calling a specific superclass implementation, there was a stack
overflow due to the infinite recursion.
class Once {
func value() -> Int {
return 1
}
}
class Twice: Once {
override func value() -> Int {
return 2
}
}
class Thrice: Twice {
override func value() -> Int {
return 3
// EXC_BAD_ACCESS:
// return Once.value(self)()
}
}
let once = Once()
once.value() //-> 1
Once.value(once)() //-> 1
let twice = Twice()
twice.value() //-> 2
Once.value(twice)() //-> 2
Twice.value(twice)() //-> 2
let thrice = Thrice()
thrice.value() //-> 3
Once.value(thrice)() //-> 3
Twice.value(thrice)() //-> 3
Thrice.value(thrice)() //-> 3
-- Ben
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution