Ideally rav1d should build with a stable toolchain at some point. It looks like we ended up with a few nightly-only features from the initial c2rust transpile that we should eventually remove. I currently find three nightly-only features that we use:
The intrinsics we can take care of by using stabilized Rust atomic types, the variadic usage appears to just be vfprintf which would be easy to remove, and for extern types we can probably do opaque pointers in another way.
Ideally rav1d should build with a stable toolchain at some point. It looks like we ended up with a few nightly-only features from the initial c2rust transpile that we should eventually remove. I currently find three nightly-only features that we use:
core_intrinsics: Replace remaining C atomic intrinsics with native Rust atomics #688,#![feature(core_intrinsics)]: Remove as it's unused #745c_variadic:#![feature(c_variadic)]: Remove for therav1dlibrary #620extern_types:#![feature(extern_types)]: Remove for therav1dlibrary #593The intrinsics we can take care of by using stabilized Rust atomic types, the variadic usage appears to just be
vfprintfwhich would be easy to remove, and for extern types we can probably do opaque pointers in another way.