<div dir="ltr"><div>Hello everyone, <br></div><div><br></div><div>I was thinking about a set of Rust bindings for the Gmsh C API (v4.4) and made a very raw set using the bindgen tool: <br></div><div><a href="https://github.com/mxxo/gmsh-sys">https://github.com/mxxo/gmsh-sys</a></div><div><br></div><div>For a more idiomatic Rust API, I'll be following the re-implementation of the C++ API in C (gmsh.h_cwrap) as a guide. <br></div><div><br></div><div>
The naming for Rust's package manager is first come first serve (and undeleteable), so I
thought I'd see if there were any objections to registering a "gmsh-sys"
low-level C binding crate and a "gmsh" idiomatic Rust API crate.
</div><div><br></div><div>On the one hand, bindgen automatically generated Rust wrappers for Gmsh's C header, so it could theoretically be part of the build pipeline and included in the main repo. On the other hand, there may not be a huge appetite for Rust support among Gmsh's users, especially compared to C++ and Python. My impression is using Rust for scientific codes is a bit of an ongoing experiment. <br><div><br></div><div>On the maintenance side, packaging up an unofficial library crate for distribution might be an interesting possibility without Gmsh having to explicitly support yet another language API using the generator, especially with the semantic differences for things like error handling. </div></div><div><br></div><div>Please let me know if you have any comments or suggestions. <br></div><div><br></div><div>Have a nice weekend! <br></div><div><br></div><div>Max <br></div><div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Max Orok</div><div>Contractor<br></div></div><div dir="ltr"><a href="http://www.mevex.com" target="_blank">www.mevex.com</a><br><br><img src="https://docs.google.com/uc?export=download&id=1fHTIiW4OMUjQr1iOkspQ7wiEsxunoOs0&revid=0B6x5w-5zVaEjSkpwbm5oY29jbG1XMzJoYldXTmJpNGFtb3dVPQ" width="164" height="42"><br></div></div></div></div></div></div></div></div>