We should use C2Rust only where we needed, not all across the board.
C2Rust only supports C99, no atomics, and who knows what else not – so let's not make C2Rust the default for headers, but just opt in to it.
This is a breaking change for riot-sys' downstreams, but does not (or should not: testing will show, I only did a few samples;will not, before it is merged) break riot-wrappers or known applications.
In parallel to this, we may want to explore
- how to use bindgen to generate non-static versions of functions into a C file, build and link that, and be fine
- whether any casual use of riot_sys::inline:: can (now?) be done away with
Testing
riot-sys' tests are rather minimal; a test PR in riot-wrappers will give us better coverage.
We should use C2Rust only where we needed, not all across the board.
C2Rust only supports C99, no atomics, and who knows what else not – so let's not make C2Rust the default for headers, but just opt in to it.
This is a breaking change for riot-sys' downstreams, but does not (or should not: testing will show, I only did a few samples;will not, before it is merged) break riot-wrappers or known applications.
In parallel to this, we may want to explore
* how to use bindgen to generate non-static versions of functions into a C file, build and link that, and be fine
* whether any casual use of riot_sys::inline:: can (now?) be done away with
## Testing
riot-sys' tests are rather minimal; a test PR in riot-wrappers will give us better coverage.