Open
Description
The helios repo does not use a rust-toolchain file to specify a rust version to use. As a result, if folks use features that are in newer rust versions then folks who do not actively use rustup / cargo will be broken. This has happened again in pilot:
Jun 20 15:14:00.102 INFO E| Compiling racktest-driver v0.0.0 (/home/rm/src/apob/projects/pilot/racktest/driver)
Jun 20 15:14:00.942 INFO E| error[E0658]: use of unstable library feature 'map_first_last'
Jun 20 15:14:00.942 INFO E| --> racktest/driver/src/runcmd.rs:68:50
Jun 20 15:14:00.942 INFO E| |
Jun 20 15:14:00.942 INFO E| 68 | while let Some((_, ent)) = i.rc_inflight.pop_first() {
Jun 20 15:14:00.942 INFO E| | ^^^^^^^^^
Jun 20 15:14:00.942 INFO E| |
Jun 20 15:14:00.942 INFO E| = note: see issue #62924 <https://github.com/rust-lang/rust/issues/62924> for more information
Jun 20 15:14:01.011 INFO E| For more information about this error, try `rustc --explain E0658`.
Jun 20 15:14:01.058 INFO E| error: could not compile `racktest-driver` due to previous error
Jun 20 15:14:01.058 INFO E| warning: build failed, waiting for other jobs to finish...
Error: exec ["cargo", "build", "--locked", "--release"]: failed ExitStatus(unix_wait_status(25856))
gmake: *** [Makefile:42: setup] Error 1
The problem is that I do not regularly run rustup and therefore I'm on 1.65 without a rust-toolchain or other way of enforcing it. I realize that we have chosen not to use the rust-toolchain as part of an effort around reproducibility in other environments (I think?) or to avoid surprise downloads. But I think we need a better way of knowing that this has happened and to send up a heads up that's not surprise you're broken.
Metadata
Metadata
Assignees
Labels
No labels