Rick Waldron (2015-04-20T18:55:58.000Z)
d at domenic.me (2015-05-01T13:00:22.387Z)
On Mon, Apr 20, 2015 at 2:31 PM Allen Wirfs-Brock <allen at wirfs-brock.com> wrote: > This is nothing to do with class definition syntax. This is about the > semantics of the [[Set]] internal method. I understand that, but it struck me as _very_ strange that class with no class heritage could be allowed to have super.foo(), super.foo=2, but not super(). Did I miss something obvious? What is wrote is certainly heavy handed, but not more so than what the spec already does with HasDirectSuper when ClassHeritage is not present. Having just written many tests* for the early errors that will result when HasDirectSuper returns true, it seemed subjectively strange to me that this syntax would even be allowed. I suspect I'm missing something that explains why SuperProperty is allowed where SuperCall is not. * https://github.com/tc39/test262/pull/224/files#diff-f4c5a205149ca3f002d9f865b1465f15 (and following files)