The rtt-target crate assumes it is running on a 32-bit target. The use of pointers and usize in the header and channel structs prevent the crate from working on non 32-bit targets.
I hacked together a branch switching the pointers and usizes with u32s along with many try_into().unwrap()s sprinkled in to prove out it can work for a 64-bit target.
Is this a direction the crate would want to go? Ideally the pointer conversion checks would happen at compile time and we could prove some of the usize to u32 conversions would be infallible.
At a minimum the 32-bit limitation currently undocumented and could be called out in the README and docs.
The rtt-target crate assumes it is running on a 32-bit target. The use of pointers and
usizein the header and channel structs prevent the crate from working on non 32-bit targets.I hacked together a branch switching the pointers and
usizes withu32s along with manytry_into().unwrap()s sprinkled in to prove out it can work for a 64-bit target.Is this a direction the crate would want to go? Ideally the pointer conversion checks would happen at compile time and we could prove some of the
usizetou32conversions would be infallible.At a minimum the 32-bit limitation currently undocumented and could be called out in the README and docs.