According to the specification section 9.1.6:
TNS: CONV(TNS: x, TNS: kernel, INT: stride_w = 1, INT: stride_h = 1, INT: pad_w = 0, INT: pad_h = 0, TNS: bias = []) = MUST support both the legacy two-argument N-dimensional convolution form and the extended 2-D multi-output form. In the legacy form, kernel MUST have the same rank as x, every kernel dimension length MUST be odd, boundary sampling MUST clamp to the nearest valid index, and the result MUST have the same shape as x. In the extended form, when any keyword argument is supplied and x is rank 3 while kernel is rank 4 with shape [kw, kh, in_c, out_c], the operator MUST perform 2-D convolution with the given strides, explicit zero padding, and optional per-output-channel bias, returning shape [out_w, out_h, out_c]. Where both inputs are INT, the output MUST be INT; otherwise it MUST be FLT.
In the implementation, however, builtins.c only implements the legacy two-argument CONV(x, kernel) path and does not accept or honor the stride_w and bias keywords (nor the extended validation/typing the tests require). That causes the conv-extended tests to fail.
According to the specification section 9.1.6:
In the implementation, however,
builtins.conly implements the legacy two-argumentCONV(x, kernel)path and does not accept or honor thestride_wandbiaskeywords (nor the extended validation/typing the tests require). That causes the conv-extended tests to fail.