It would be great to be able to build this with a stable version of rust. Installation of stable rust is a lot more straightforward, and would make it easier to convince Linux distros to include bitwarden_rs in their official repositories.
The main reason is probably this: https://github.com/SergioBenitez/Rocket/issues/19
This could be solved by
I'm not involved with writing code in any of these projects(including here) but it seems that all of those options are neither easy nor fast to do, so there is still a way to go before compiling bitwarden_rs with stable rust is possible.
The end goal is to have it being able to have it compiled using the stable version.
But indeed the Rocket chain is currently one of the bottlenecks.
And there are also some dependencies, like pear/pear_codegen, which report to need a nightly but probably can use the current v1.38 stable. And some crates and bitwarden_rs it self are using some feature's which aren't in a stable release yet. Not even the v1.38, so we currently are stuck on the nightly release.
Thank you everyone for the insight, it's really appreciated!
Does this help at all? https://blog.rust-lang.org/2019/11/07/Rust-1.39.0.html
Any updates on this? I think Rocket was getting close to stable compatibility but not sure what else still needs nightly. On my platforms I do not have access to docker and prefer to use stable Rust if I can, meaning for the moment I can't really use the project despite wanting to try it out.
Well the proc-macro hygiene is on track to be stabilized for next Rust release sometime this week, and there are some Span related things in the pear library that are still not stabilized, but those are only to have nicer compile errors, so they might be moved behind a feature gate to make it compile in stable rust, and nightly can be used for nicer errors.
Other than that, I assume the next rocket release will also include the async stuff seeing as it has been merged into master, so it might take a bit longer to iron out all it's issues.
On our side, we have two nightly features enabled, try_trait and ip, but they aren't essential so I'll try to remove them before any Rocket stable release.
Edit: All the unstable features used by bitwarden_rs have been removed, so now it's just waiting for the new versions of rocket and rust.
Edit2: The async branch now compiles on stable! 馃帀 This uses an unreleased version of Rocket, and will be merged once Rocket 0.5 is released. https://github.com/dani-garcia/bitwarden_rs/tree/async
Most helpful comment
Well the proc-macro hygiene is on track to be stabilized for next Rust release sometime this week, and there are some Span related things in the pear library that are still not stabilized, but those are only to have nicer compile errors, so they might be moved behind a feature gate to make it compile in stable rust, and nightly can be used for nicer errors.
Other than that, I assume the next rocket release will also include the async stuff seeing as it has been merged into master, so it might take a bit longer to iron out all it's issues.
On our side, we have two nightly features enabled,try_traitandip, but they aren't essential so I'll try to remove them before any Rocket stable release.Edit: All the unstable features used by bitwarden_rs have been removed, so now it's just waiting for the new versions of rocket and rust.
Edit2: The async branch now compiles on stable! 馃帀 This uses an unreleased version of Rocket, and will be merged once Rocket 0.5 is released. https://github.com/dani-garcia/bitwarden_rs/tree/async