Skip to content

Remove use of unstable features

Tim Crawford requested to merge tcrawford/uefi:stable into master

Most of the unstable features are not required for building.

For panics, the only remaining detail is having an implementation of the panic handler (panic_handler) itself.

  • eh_personality: Not required with panic=abort
  • _Unwind_Resume: Symbol not present with panic=abort
  • alloc_error_handler: OOM triggers a panic; feature will be removed [1]

The re-exports from the Rust prelude are left in the crate prelude so that users do not need to suddenly import a dozen different things.

Main differences for users will be to now import things from core and alloc instead of through uefi_std, such as:

- use std::ptr;
+ use core::ptr;

And explicitly importing the prelude:

use std::prelude::*;

Allows compiling with a stable toolchain:

cargo +1.78.0 build --target x86_64-unknown-uefi
Edited by Tim Crawford

Merge request reports