Conversation
|
@JulianGro can I ask you to change the Docker images to include rustup and (if you want to) change the workflows to install the Rust toolchain with information from |
|
I don't see any way to explicitly install the toolchain in the documentation. However, it looks like it will just use the rust-toolchain.toml automagically? https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file |
|
it’s very cool that this works but it makes me a little nervous. it seems like we’re swapping a very lightweight dependency for a new dependency on rust and a copy of the library that we now have to maintain, as well as a new language to worry about |
|
there's plenty of rust devs on their way, myself included. |
I get what you mean. Integrating Rust seems like a build-system mess waiting to happen. My main worries here are:
Since this is replacing an external library, maybe we could start the Rust experiment by making this an external library as well and linking against it? Of course, generally speaking I am more for fixing whatever is wrong with artery-font-format and upstreaming that. I was going to just wait and see what comes out of this, but this generally seems like a lot of trouble considering that, as far as I understand, this is supposed to just fix one rare crash. Like, if I am involved in this, it takes me away from other things, such as improving things on the C++ side. There is just too many questions for me to be opposed though. Like, I was opposed to Conan as well, let Edgar cook, and realized that it is just way better than the VCPKG stuff we had at the time. Granted my initial worry of having to maintain it myself came true and the amount of work it entailed was a lot more than it seemed. |
|
https://github.com/corrosion-rs/corrosion can be used to put a rust crate into a cmake build script |
|
maybe I just lack context on the crash? I thought we had the ability to apply patches to dependencies, and this library is so small that I would think that would be preferable. upstreaming a fix would also be nice, though I wouldn’t be surprised if any crash was because of misuse on our side. I understand the benefits of rust and having started learning it myself a little. but by doing this we’re missing out on future updates to the library (…not that it updates frequently). at least with replacing polyvox we theoretically reduced some complexity…though I’ll point out that also introduced new issues |
Yes, we can apply patches through Conan. We don't necessarily need stuff to be upstreamed. |
The idea is to enable devs to implement/rewrite/replace stuff in Rust if they see the need or wish for it. This is more of a proof of concept, which shows how to do it in practice. I want to replace more components with stuff written by us or crates from the Rust ecosystem, which is easier to integrate than stuff from Conan.
I have seen that, but I choose to implement it manually for the flexibility and because it doesn't support workspaces, iirc, and the official way of integration is
Offline builds are possible when everything in cargo was pulled once.
The idea is to build static libraries and link them with cmake
While it might not work for everyone, I believe in some cases it is worth the effort, especially, where correctness is wished or implementation in Rust is much easier to achieve.
That would require a complete rewrite anyway, as the structure of the library is a mess. The reimplementation should be (for our use case) on par with the upstream impl. |
No description provided.