This 1st argument to encodeInt has an unexpected type:
77│ encodeU8 = \n -> encodeInt n
^
This n value is a:
U8
But encodeInt needs its 1st argument to be:
Int a
Am I missing something here. This should just work, right?
Num.intCast
might help -- as a workaround
But otherwise, it looks like it should be happy taking a U8
if it's expecting a Int a
Yeah, seems to be an ability function issue in general.
Also breaks with constants
maxPosFixInt = 0x7F
Is being limited to being used as one type if used in an ability function when it should be allowed to be used as any int Type
Sounds similar to the top-level thunk thing. Like if that constant is a thunk, does it still have an issue?
It even has the issue as a thunk
I think it is something off with ability specialization that is over constraining types
yeah looks like a bug for sure
Last updated: Jul 06 2025 at 12:14 UTC