Skip to content

cfg(bootstrap) needed in test-float-parse #141900

Closed
@Mark-Simulacrum

Description

@Mark-Simulacrum

x.py check --stage 0 fails on checking src/etc/test-float-parse since that used to always get an in-tree std but now gets beta std after #119899.

error[E0277]: the trait bound `f16: LowerExp` is not satisfied
   --> src/etc/test-float-parse/src/traits.rs:158:65
    |
149 | / macro_rules! impl_float {
150 | |     ($($fty:ty, $ity:ty);+) => {
151 | |         $(
152 | |             impl Float for $fty {
...   |
158 | |                 const SIGN_MASK: Self::Int = Self::Int::ONE << (Self::BITS-1);
    | |                                                                 ^^^^ the trait `LowerExp` is not implemented for `f16`
...   |
169 | | }
    | |_- in this expansion of `impl_float!`
...
174 |   impl_float!(f16, u16);
    |   --------------------- in this macro invocation
    |
    = help: the following other types implement trait `LowerExp`:
              f32
              f64
              i128
              i16
              i32
              i64
              i8
              isize
            and 6 others
note: required by a bound in `traits::Float::BITS`
   --> src/etc/test-float-parse/src/traits.rs:105:25
    |
105 |     Copy + fmt::Debug + fmt::LowerExp + FromStr<Err: fmt::Display> + Sized + Send + 'static
    |                         ^^^^^^^^^^^^^ required by this bound in `Float::BITS`
...
112 |     const BITS: u32;
    |           ---- required by a bound in this associated constant

We should consider adding an x.py check --stage 0 to CI so that people remember/notice adding the relevant cfg(bootstrap) annotations and/or change bootstrap to not permit checking certain tools under stage 0.

cc #141901

Metadata

Metadata

Assignees

Labels

A-testsuiteArea: The testsuite used to check the correctness of rustcC-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions