Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This feature derives the de/serializable traits in each of the command types.
Rust's orphan rule requires that either the trait or the type for which you are implementing the trait must be defined in the same crate as the impl, so it is not possible to implement Serialize and Deserialize for a type in a different crate directly.
https://serde.rs/remote-derive.html
However, even following the remote derive workarounds provided by Serde, it seems that there isn't yet a way to remote derive the structs that contain types nested in Option, Vec, or Map without having to write a lot of boilerplaty code that hard to keep synch with twitch-irc-rs updates.
serde-rs/serde#723
The reason why I need to serialize the commands is because I'm using an architecture in which all the mensajes obtained by twitch-irc-rs are relayed using a publisher pattern and proxy balanced, while there are subscribers that perform all specific logging and bot operations that can be disconnected or replaced.
Pull request checklist:
CHANGELOG.md
was updated, if applicable