/*** @param {INPUTS} inputs* @param {string} testing* @return {com.webcircuits.Serialised}* @template INPUTS* @this {com.webcircuits.IDriverFront}*/$$com.webcircuits.IDriverFront. _serInputs = function ( inputs , testing ) {}
It's pretty much all good except that checking for correctness of this approach with the test call, I see:
…
inputs: INPUTS,
…
So it worked as intended because the this type is resolved as per original function annotation as well as testing variable type is a string which is right, but the inputs are left as INPUTS so the compiler didn't pick up those generics.
Btw, if export default is removed, this @type trick does not work at all but I'm not bothered by that.