Open freijon opened 1 year ago
I think this is a pretty good idea - I'm pretty sure the use of nightly Rust would also block Celeste from entering into repositories such as Debian, so it's probably good to get this going.
See the linked PR for the progress on getting that done. As of the time of writing only one nightly feature needs to be removed, but removing it would make the codebase a bit messier (the feature isn't any actual functionality, just some syntax sugar that's being used) so I'm trying to figure out the best way to go about that.
I'm looking into this quite a bit @freijon, but the main parts of the codebase that need to be fixed lie in https://github.com/hwittenborn/celeste/blob/develop/src/launch.rs#L1492-L2284, and the codebase is quite a mess in that spot as well. It's in quite a dire need of a rewrite, and my attempts to change much in there just left me confused and without a way to get things fixed.
The two solutions currently are:
let_chains
feature to be stabalized in Rust, not quite sure when that'll beRight now I'm planning on #2 to happen, which has already been planned for a bit now (see #143). This won't be a huge rewrite, but it will probably take a bit of time to clean up things and get everything tested properly.
Just wanted to let you know about all that's going on.
Thank you for the status update, I appreciate it. Rust has had some features in unstable state indefinitely. There is really no telling when / if they stabilize this feature. So I don't count on that happening any time soon. I guess that leaves the rewrite ;)
Any progress so far? Please let me know if I can do anything to help.
Hello
We discussed this briefly on Discord, but to make it a more official request I create this issue It would be great if you could find an alternative to the unstable Rust features currently in use.
The reason is that you need Rust with unstable features enabled to build your app. This is currently impossible on Gentoo. The
nightly
feature (which allows unstable features) is blocked since Rust 1.72.0 for stability reasons [^1]. So we cannot offer your app as a (source built) package at the moment 😟 I don't know if it also impacts other source-driven distros. Also I think it's safer for you to rely on stable features, the risk that they are suddenly removed from Rust is much lower.[^1]: Breaks multiple high-profile packages depending on outdated proc-macro2. See https://github.com/rust-lang/rust/issues/113152