Skip to content

CI failure because of stabilized const_mut_refs feature #499

@phil-opp

Description

@phil-opp

The const_mut_refs feature was stabilized on nightly, which results in the following warning:

warning: the feature `const_mut_refs` has been stable since 1.83.0-nightly and no longer requires an attribute to enable
 --> src/lib.rs:5:43
  |
5 | #![cfg_attr(feature = "const_fn", feature(const_mut_refs))] // GDT::append()

On the CI we treat warnings as errors, which leads to build errors: https://github.com/rust-osdev/x86_64/actions/runs/11208838715/job/31153121364

There are multiple ways to handle this:

  • Remove the #![cfg_attr(feature = "const_fn", feature(const_mut_refs))] feature gate. This will break people on older nightlies.
  • Try to use rustversion if possible. I tried it, but I get an "inner macro attributes are unstable" error.
  • Set the stable_features lint to warn on CI. This way, the warning is not turned into an error.

I'm leaning towards the third option, but I wanted to hear your opinions @josephlr and @Freax13.

Once const_mut_refs is stablilized on stable, we can use rustversion to make the GDT::append function const on stable builds too. Then we can maybe deprecate the const_fn feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions