wiremod/wire

Expression 2: function predefinition is broken

stepa2 opened this issue · 2 comments

stepa2 commented

Following code does not compile.

@strict
function b() { error("undef") }

function a() { b() }
function b() { a() }

No workarounds that keep type checking of argument and return value.

Vurv78 commented

It shouldn't compile. Function overriding isn't a thing anymore on @strict. It's a hacky weird dynamic behavior. If you want it, use lambdas.

Vurv78 commented

Closing as I never guaranteed backwards compatibility with @strict (only for very widely used / common programming stuff)