I don’t know Rust, but trying to hack on Lemmy 0.18.1 enough to get a better error message out.

error: data did not match any variant of untagged enum AnnouncableActivities

where: crates/apub/src/activities/community/announce.rs, line: 46

https://github.com/LemmyNet/lemmy/blob/0c82f4e66065b5772fede010a879d327135dbb1e/crates/apub/src/activities/community/announce.rs#L46

That seems to be the function parameters themselves?

Is the error caused by RawAnnouncableActivities not matching the enum AnnouncableActivities and the try_into?

  warn!("zebratrace receive {:?}", self);

Works for adding logging, but I’d like the code to log self only when the enum does not match (errors). Thank you.

  • anlumo@feddit.de
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Serde handles untagged enums in the way that it tries to deserialize every variant of that enum from top to bottom with the given data, and returns the first one that doesn’t throw an error. The error indicates that all of them threw an error when trying to deserialize the data.