02:45 | <devsnek> | tfw first day of new job is the same day as tc39 |
03:09 | <rkirsling> | ouch |
03:25 | <devsnek> | if no one else wants to take the extends null item i'll move it to next meeting |
03:33 | <ljharb> | are the choices basically, 1) do nothing, let things suck; 2) allow `new class extends null {}` to work by making `super()` a noop when it'd be invoking `null`? or is there a third choice |
03:57 | <devsnek> | ljharb: 1) do nothing 2) super noop 3) remove extends null somehow |
03:57 | <devsnek> | maybe not compatible |
03:57 | <devsnek> | web compatible* |
04:02 | <ljharb> | how could we do that |
04:03 | <ljharb> | since i could do `let f = function () {}; class C extends f {} ; f = null; new C()` |
04:03 | <ljharb> | or do you mean a runtime error as part of construction |
04:03 | <devsnek> | idk |
04:03 | <devsnek> | i don't want to do that |
04:03 | <devsnek> | but its technically an option |
04:03 | <devsnek> | i'd like to lean on previous consensus here and actually figure out something that works though |
04:04 | <devsnek> | super noop seems ideal to me but there is a conflict |
04:04 | <devsnek> | some people say super() with extends null should throw, some say super(), if syntactically valid, should never throw |
04:05 | <ljharb> | i say the latter, and i'm aware of at least one person who says the former |
04:05 | <ljharb> | but the former pretty much guarantees extends null can never work |
04:05 | <devsnek> | yeah |
04:06 | <devsnek> | so i put a nice 30m chunk to discuss it |
04:09 | <devsnek> | fun issue that bradley just opened 😅 |
16:53 | <ljharb> | devsnek: looks like https://github.com/tc39/ecma262/pull/2216 now just needs to address 3 more small comments |