serial2 0.2.34

Cross platform serial ports
Documentation
#!/bin/bash

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