Expand description
§hs-bingen-traits
Utility traits behind hs-bindgen
ergonomics. It helps user to easily define wrapper function to derive a Rust
type from and into a C-FFI safe target type (that match the memory layout of
an Haskell type).
§What’s this library for?
Does repr(C) define a trait I can use to check structs were declared with #repr(C)?
The answer is sadly no … that’s what this library trying to provide, like
what safer_ffi
does, but in a simpler and more minimal way, since the goal here is only to
target Haskell FFI.
§Acknowledgments
⚠️ This is still a working experiment, not yet production ready.
This project was part of a work assignment as an IOG contractor.
§License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Traits§
- From
ReprC - Generate C-FFI cast from a given Rust type.
- From
Repr Rust - Generate safe Rust wrapper from a given C-FFI type.
- Into
ReprC impl IntoReprC<Foo> for Bar-> meansfromCFootype into RustBarrepr- Into
Repr Rust impl IntoReprRust<Foo> for Bar-> meansfromRustFootype into CBarrepr