Description
I have a Rust application written using the msp430 backend. which means using the nightly compiler. Travis CI daily cron builds have been failing with the nightly compiler since March 27, 2018 with the following error (I am currently not in a position to get a backtrace/increase verbosity, I will update when possible):
xargo build --release --target=msp430-none-elf --features use-timer
Compiling core v0.0.0 (file:///home/travis/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore)
error: unused macro definition
--> /home/travis/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/range.rs:491:1
|
491 | / macro_rules! try_from_upper_bounded {
492 | | ($($target:ty),*) => {$(
493 | | impl PrivateTryFromUsize for $target {
494 | | #[inline]
... |
503 | | )*}
504 | | }
| |_^
|
note: lint level defined here
--> /home/travis/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/lib.rs:66:9
|
66 | #![deny(warnings)]
| ^^^^^^^^
= note: #[deny(unused_macros)] implied by #[deny(warnings)]
error: aborting due to previous error
error: Could not compile `core`.
To learn more, run the command again with --verbose.
error: `"cargo" "build" "--release" "--manifest-path" "/tmp/xargo.LkQsXpHQxkQq/Cargo.toml" "--target" "msp430-none-elf" "-p" "core"` failed with exit code: Some(101)
note: run with `RUST_BACKTRACE=1` for a backtrace
make: *** [timer] Error 1
My msp430 firmware uses xargo
to create a libcore
for msp430 every time libcore
is updated, and recently a new feature has triggered a lint that causes compilation to fail due to an unused macro. Since libcore
can't be compiled, the whole build fails. A stopgap solution for now is to use a nightly before March 27, 2018 which compiles libcore
for msp430 successfully.
cc: @SimonSapin, based on a chat in #rust-embedded
with @japaric, PR #49305 might have tickled the lint into failing compilation for the msp430 backend?