<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">On Apr 25, 2016, at 11:18 AM, Michael Peternell via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""><div><blockquote type="cite" class=""><br class="Apple-interchange-newline"><div class=""><div class="">Is "Self" dynamically dispatched? What would the following program print?<br class=""><br class="">class A: NSObject {<br class=""> static func myClassName() -> String {<br class=""> return "A"<br class=""> }<br class=""> func hello() -> String {<br class=""> return "I am a \(Self.myClassName())"<br class=""> }<br class="">}<br class=""><br class=""><b class="">class B: A {<br class=""> static func myClassName() -> String {<br class=""> return "B"<br class=""> }<br class="">}</b><br class=""><br class="">print(B.init().hello())<br class=""><br class="">Because I think "Self" would only cause confusion if it is statically dispatched. assert(B.init().hello() == "I am a B")<br class=""><br class="">-Michael<br class=""></div></div></blockquote></div><br class=""><div class=""><br class=""></div><div class="">The current Swift will not allow your second example to compile.</div><div class=""><br class=""></div><div class="">-- E</div><div class=""><br class=""></div></body></html>