I'm seeing a strange behavior in klib? deserializa...
# compiler
z
I'm seeing a strange behavior in klib? deserialization in 2.3.20 dev builds with native targets where annotations are seemingly deserialized incorrectly. Working on trying to narrow this down, but here's a dump of what I've found so far: https://github.com/ZacSweers/metro/issues/1556#issuecomment-3693475872 In short, I'm seeing annotations on some FIR-generated function parameters replaced with class annotations from an unrelated FIR-generated class 🤔 Any pointers on where to look for this would be helpful as I'm not super familiar with what goes on in the klib serialization layer
Does seem to be specific to klib serialization, I see it in the final klib .knm file headers too
Tracing this through IrFileSerializer in the debugger, I don't see any issue. It appears to serialize the annotation correctly there
Further debugging - if I trace through
FirMemberDeserializer
, I do see it parse the right annotation (!)
but somewhere between then and IR transformation, that annotation is then changed to the other one in the FIR declaration instance
Filed this: KT-83427