rust-cpp
derive_more
Our great sponsors
rust-cpp | derive_more | |
---|---|---|
11 | 3 | |
770 | 1,350 | |
- | - | |
4.6 | 7.8 | |
8 months ago | 9 days ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust-cpp
-
Improving Interoperability Between Rust and C++
I am the current passive maintainer of the cpp crate: https://github.com/mystor/rust-cpp
-
Best practices in creating a Rust API for a C++ library? Seeking advice from those who've done it before.
I would like to utilize OMPL's functionality in Rust code, so I want to call into OMPL C++ code somehow in Rust. I've seen two (non-mutually-exclusive) options so far: - rust-cpp, which allows you to write C++ code in Rust within the cpp!() macro. - cxx, which allows you to define both sides of the FFI boundary manually (as opposed to bindgen's automatic generation).
-
Microsoft is rewriting core Windows libraries in Rust
There's also the cpp and cxx crates for doing C++/Rust interop, but they probably aren't appropriate to use in all cases. The C ABI is definitely the safest way to go unless you're really trying to marry Rust and C++ code bases, not just writing library bindings.
-
US NGO Consumer Reports also reporting on C and C++ safety for product development.
Otherwise, C would never have achieved success in MS-DOS when all the stuff it was binding to at the time required blocks of inline assembly. (Crates like rust-cpp do exist, which allow "inline C++" in the same way that C++ allows inline assembly.)
-
Choosing language for a new project
Actually, you can make inline C++ macro in Rust. Similar unholy monstrosities exist for inline python, inline C, inline SQL, inline HTML,...
-
Tired of safe programming? Embed C directly in your Rust code
Here is a more serious project that allows to embed C++ code directly in your Rust code: https://github.com/mystor/rust-cpp
-
Hello, youki! Faster container runtime is written in Rust
Don't underestimate the power of procedural macros: https://github.com/mystor/rust-cpp
- Use a CPP library from Rust
-
Rust with C++?
Alright, thanks for all your ideas! I also found this mystor/rust-cpp, which apparently allows inline c++ as opposed to cxx. Having yet to try out any of these, I like the idea of inline code more. Thought now I feel I need to brush up my skills a bit more to try this stuff out.
-
CXX - Safe interop between Rust and C++
Another create which i've been contributing to and maintaining is the cpp crate, which can also be useful for interoperability with C++, as it allows to embed C++ code snippets directly within rust functions:
derive_more
-
Is there a convenient way to convert a struct<T> (where all fields are of type T) into struct<U> where U: From<T>?
This fails to compile. Looking at the implementation for that macro I don't see a way to use it that would work: https://github.com/JelteF/derive_more/blob/master/impl/src/from.rs
-
Microsoft re-adds .NET hot-reload
tl;dr you can put commit hashes in the place where the parent comment put tags.
The PR interface actually exposes this for force-pushes, but the UI discovery for this is horrible. It turns out that the "force-pushed" part in the little message in the github UI is actually a link. This link points to the diff between the old and the new HEAD of the branch.
As an example you can look at this PR:
It has this little message somewhere down the page:
Monadic-Cat force-pushed the add-unwrap branch from e130dbe to 25235aa 4 months ago
If you then click that link you go to the "compare" page, which shows the diff between the two commits:
https://github.com/JelteF/derive_more/compare/e130dbe6b2a429...
Disclaimer: I'm a Micrsoft employe, but don't work on Github. I'm a daily user of Github though.
What are some alternatives?
rust-derive-builder - derive builder implementation for rust structs
cxx - Safe interop between Rust and C++
rust-ctor - Module initialization/global constructor functions for Rust
rust-bitfield - This crate provides macros to generate bitfield-like struct.
num - A collection of numeric types and traits for Rust.
JavaCPP - The missing bridge between Java and native C++
syn-rsx - syn-powered parser for JSX-like TokenStreams
rust-bindgen - Automatically generates Rust FFI bindings to C (and some C++) libraries.
bitflags - A macro to generate structures which behave like bitflags
ritual - Use C++ libraries from Rust
embed-c - Embed C code at compile time inside Rust using C2Rust