Skip to content

Update rust-toolchain #693

@wks

Description

@wks

Currently, as of 8 Nov 2022, the file mmtk-core/rust-toolchain locks the Rust toolchain version to 1.59.0, but the latest stable Rust toolchain is 1.65.0. This means the toolchain we use is now 9 months behind the latest stable.

Locking the toolchain version has certain advantages, such as

  • If it is tested on the CI, it probably works on other machines because they use the same compiler.
  • The performance comparison between mmtk-core revisions is consistent because they use the same compiler.

However, the problems include

  • Some programs may break on newer toolchain versions, because
    • The language semantics or standard library may change, deprecating old features, or
    • Newer compilers may have different behaviour for programs with undefined behaviours.
  • Some third-party library mmtk-core depends on require newer language or stdlib features.
  • Newer cargo clippy can provide warnings of more smelly code than before.

Before we bump the version, we need to:

  • Fix bugs that break with the new toolchain
  • Update dependency versions.
    • enum-map = "=2.1" (newest version is 2.4.1)
  • Fix (or suppress when necessary) new clippy warnings.
  • (ANU-only) Ensure development and testing machines are equipped with the new toolchain.

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