Support for marshaling Rust types by value was added in #40 to enable passing data-carrying enums in a meaningful way. This PR extends that functionality to structs as well, with structs that derive Copy being marshaled by value by default. In doing so, I was also able to simplify and generalize a lot of the logic that was previously specific to generating code for data-carrying enums.
Support for marshaling Rust types by value was added in #40 to enable passing data-carrying enums in a meaningful way. This PR extends that functionality to structs as well, with structs that derive
Copy
being marshaled by value by default. In doing so, I was also able to simplify and generalize a lot of the logic that was previously specific to generating code for data-carrying enums.