tinygo-org / tinygo

Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
https://tinygo.org
Other
14.72k stars 858 forks source link

`Type.AssignableTo` panics with "reflect: unimplemented: AssignableTo with interface" #4277

Open fxamacker opened 1 month ago

fxamacker commented 1 month ago

Some packages like fxamacker/cbor require Type.AssignableTo to support Interface.

There was some prior discussion at https://github.com/fxamacker/cbor/issues/295#issuecomment-1596305015.

Projects using packages that require Interface support can encounter panics from the following code.

https://github.com/tinygo-org/tinygo/blob/6384ecace093df2d0b93915886954abfc4ecfe01/src/reflect/type.go#L956-L969

If a solution becomes available, I can use some existing tests in fxamacker/cbor to help test it.