targets=(
x86_64-pc-solaris
x86_64-unknown-illumos
aarch64-linux-android
aarch64-unknown-linux-gnu
aarch64-unknown-linux-musl
arm-linux-androideabi
arm-unknown-linux-gnueabi
arm-unknown-linux-gnueabihf
arm-unknown-linux-musleabi
arm-unknown-linux-musleabihf
armv5te-unknown-linux-gnueabi
armv5te-unknown-linux-musleabi
armv7-linux-androideabi
armv7-unknown-linux-gnueabi
armv7-unknown-linux-gnueabihf
armv7-unknown-linux-musleabi
armv7-unknown-linux-musleabihf
i586-unknown-linux-gnu
i586-unknown-linux-musl
i686-linux-android
i686-unknown-linux-gnu
i686-unknown-linux-musl
powerpc-unknown-linux-gnu
powerpc64-unknown-linux-gnu
powerpc64le-unknown-linux-gnu
powerpc64le-unknown-linux-musl
riscv64gc-unknown-linux-gnu
s390x-unknown-linux-gnu
sparc64-unknown-linux-gnu
thumbv7neon-linux-androideabi
thumbv7neon-unknown-linux-gnueabihf
x86_64-apple-darwin
x86_64-apple-ios
x86_64-linux-android
x86_64-linux-android
x86_64-pc-windows-gnu
x86_64-pc-windows-msvc
x86_64-unknown-freebsd
x86_64-unknown-linux-gnu
x86_64-unknown-linux-gnu
x86_64-unknown-linux-gnux32
x86_64-unknown-linux-musl
x86_64-unknown-linux-musl
x86_64-unknown-netbsd
)
failed=()
for target in "${targets[@]}"; do
printf "Checking target: %s\n" "$target"
rustup target add "$target"
cargo clippy --target "$target" "$@"
if (( $? != 0 )); then
printf "cargo clippy --target %s failed\n" "$target"
failed+=("$target")
fi
echo
done
if [[ "${#failed[@]}" > 0 ]]; then
printf "Failed targets:\n";
for target in "${failed[@]}"; do
printf " %S\n" "$target"
done
exit 1;
fi