Closed
Description
In my latest bit of work on libuv bindings in rust, I've come into some issues with passing structs, by-val, from Rust->C in windows (64bit host, 32bit rust build).
I've found a few things:
- The data passed, by-val, from rust->C comes out as garbage in C. C->Rust via return and C->Rust via crust don't appear to be affected (this is in the context of my uv_tcp branch work on http://github.com/olsonjeffery/rust)
- when a by-val struct is including in a function signature in C, it seems that all of the parameters that come after become null/garbage, as well (I encountered with a callback fn ptr that was null when it was passed into C. But moving the ptr to be before the by-val struct in question caused it to be unbroken)
This is happening after #1402 was closed, and I know it was expected that there's be some bogeymen hiding out in 32bit edge cases, so hopefully this helps.