Skip to content

Building Tock with stable rustc #1654

@mcy

Description

@mcy

This issue tracks attempting to build as many Tock libraries as possible with a stable compiler, that is, minimizing the number of #![feature(...)] pragmas used in lib.rs files.

Update Feb 2024

Cortex-M crates can now compile on stable!

Nightly Features

This work is especially attractive to OpenTitan's use of Tock as a secure embedded operating system. Being able to build code without exercising unstable (and, as such, untested and unproven) code paths in the compiler increases confidence in the language-level and hardware-level guarantees provided by Tock. This is not to mention that unstable features are not guaranteed to be stabilized, or to remain in the compiler indefinitely.

This work is divided up according to pragmas still present after #1643, which every pragma that could be removed without causing build failures. Below is a list of all pragmas Tock still uses.

Please comment additional pragmas below as they are used, or edit this list to include them if you have write access.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions