I would have expected the output from meth to be identical to that of func. Given methods have known parameters, I would have expected their type information to be pre-filled.
My current work around (as I do a lot of type checking) is to retype the method func:
SlimerDude Thu 8 Oct 2015
I was surprised to find that Method funcs are generic:
static Void method(StrBuf buf, Err? err) { } ... func := |StrBuf buf, Err? err| { } // --> prints correct signature meth := #method.func // --> prints generic signature echo("\n-- Func:") echo("isGeneric: ${func.typeof.isGeneric}") echo("Signature: ${func.typeof.signature}") echo("params : ${func.params}") echo("\n-- Meth:") echo("isGeneric: ${meth.typeof.isGeneric}") echo("Signature: ${meth.typeof.signature}") echo("params : ${meth.params}")Heralds:
I would have expected the output from
methto be identical to that offunc. Given methods have known parameters, I would have expected their type information to be pre-filled.My current work around (as I do a lot of type checking) is to retype the method func:
meth := #method.func.retype(|StrBuf, Err?|#) echo("\n-- Meth:") echo("Signature: ${meth.typeof.signature}") echo("isGeneric: ${meth.typeof.isGeneric}") echo("params : ${meth.params}") ... -- Meth: Signature: |sys::StrBuf,sys::Err?->sys::Void| isGeneric: false params : [sys::StrBuf a, sys::Err? b]But it seems silly to have to do that!?
brian Wed 4 Oct 2017
Ticket promoted to #2483 and assigned to brian
brian Wed 4 Oct 2017
Ticket resolved in 1.0.70
changeset