tock / libtock-rs

Rust userland library for Tock
Apache License 2.0
168 stars 109 forks source link

Update the nightly toolchain. #562

Closed jrvanwhy closed 2 weeks ago

jrvanwhy commented 2 weeks ago

Code changes:

  1. A new lint was triggering on many of our CommandReturn::to_result invocations, indicating that we are relying on the implicit decay of ! into (). We should always make sure that only one success type matches when we invoke to_result, so this specifies the types.
  2. A lint now triggers in Miri for ignoring format!()'s possible error. We ignored it intentionally, so I make that explicit.
  3. A few tests incorrectly relied upon functions having stable addresses, which is not the case. This correctly those tests.
  4. Moved .cargo/config to .cargo/config.toml due to a new lint about the former being deprecated.
jrvanwhy commented 2 weeks ago

Both the stable and the nightly toolchains throw the following warning:

warning: failed to connect to jobserver from environment variable `MAKEFLAGS=" -j2 --jobserver-auth=3,4"`: cannot open file descriptor 3 from the jobserver environment variable value: Bad file descriptor (os error 9)

I've done some digging, and while I'm not 100% confident on this, I believe it is a result of a change in make (this PR doesn't even touch the stable toolchain). It seems like a future version of make (4.4?) may make this warning go away. This isn't failing the CI workflow so I'm planning to leave it as is.

If we want the warnings to go away, we'll have to use MAKEFLAGS= to disable jobserver integration (which is effectively disabled anyway), then clean it up later when make and rustc are playing nicely together again.