tamer: nightly pin: Describe problems with adt_const_param's ConstParamTy

See commit for description of the problem, describing why I'm not yet
upgrading to a currently nightly version.

DEV-14476
main
Mike Gerwitz 2023-06-06 10:58:33 -04:00
parent 6769f0c280
commit d6e9ec7207
2 changed files with 26 additions and 1 deletions

View File

@ -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
# <https://github.com/rust-lang/rust/pull/111670> 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:
# <https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/ConstParamTy.20for.20NonZero*.20types>
#
# 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.

View File

@ -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,