diff --git a/tamer/rust-toolchain.toml b/tamer/rust-toolchain.toml index 7adc91bc..2345dfab 100644 --- a/tamer/rust-toolchain.toml +++ b/tamer/rust-toolchain.toml @@ -36,7 +36,7 @@ # you will need to modify `configure.ac` / `Makefile.am` to do your bidding. [toolchain] -channel = "nightly-2023-04-15" +channel = "nightly-2023-04-15" #¹ # The components should be checked in `configure.ac` # - Note that `cargo-fmt` is `rustfmt`. @@ -50,3 +50,26 @@ components = ["rustfmt", "clippy"] # another version of Rust already available elsewhere), you may use the # `TAMER_RUST_TOOLCHAIN` `configure` parameter. + +# ¹ TAMER uses the incomplete feature `adt_const_params`. "Incomplete" +# features require a special flag to enable---`incomplete_features`---and +# are described as "incomplete and may not be safe to use and/or cause +# compiler crashes". +# +# The `ConstParamTy` trait was introduced by +# and merged in early +# June 2023. After this change, const params types must implement this +# trait. +# +# Unfortunately, at the time of writing (2023-06), while the trait is +# implemented on a number of core primitives, it is _not_ implemented on the +# `NonZero*` types. There is an inquiry into this limitation on Zulip, and +# it is expected to be resolved in the future: +# +# +# We will sit on this and watch how it evolves over the following +# weeks/months to assess how to best proceed. +# +# Aside from this, there seems to be a rustdoc bug at some point between +# April and June that causes documentation failures. This needs further +# investigation, and possibly a bug report. diff --git a/tamer/src/lib.rs b/tamer/src/lib.rs index 4a83093b..1aadabab 100644 --- a/tamer/src/lib.rs +++ b/tamer/src/lib.rs @@ -76,6 +76,8 @@ // If this is not stabalized, // then we can do without by changing the abstraction; // this is largely experimentation to see if it's useful. +// See `rust-toolchain.toml` for information on how this blocks more recent +// nightly versions as of 2023-06. #![allow(incomplete_features)] #![feature(adt_const_params)] // Used for traits returning functions,