Closed
Description
The problem appears to be s390x-specific. At least I failed to spot another target that would fail.
Code
To reproduce the problem
cargo new foo
cd foo
- add
either = "^1.6"
to[dependencies]
in Cargo.toml cargo check
I expected to see this happen: successful completion of cargo check
Instead, this happened: failure to compile either
, see below for error messages
Version it worked on
It most recently worked on: 1.49.0
Version with regression
rustc --version --verbose
:
rustc 1.50.0 (cb75ad5db 2021-02-10)
binary: rustc
commit-hash: cb75ad5db02783e8b0222fee363c5f63f7e2cf5b
commit-date: 2021-02-10
host: s390x-unknown-linux-gnu
release: 1.50.0
Backtrace
Backtrace
Checking either v1.6.1
Running `rustc --crate-name either /home/appro/.cargo/registry/src/github.tiyicn.workers.dev-eae4ba8cbf2ce1c7/either-1.6.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=98ea2ad6c29b0e25 -C extra-filename=-98ea2ad6c29b0e25 --out-dir /home/appro/a/foo/target/debug/deps -L dependency=/home/appro/a/foo/target/debug/deps --cap-lints allow`
error[E0220]: associated type `Item` not found for `L`
--> /home/appro/.cargo/registry/src/github.tiyicn.workers.dev-eae4ba8cbf2ce1c7/either-1.6.1/src/lib.rs:394:35
|
394 | R: IntoIterator<Item = L::Item>,
| ^^^^ associated type `Item` not found
error[E0220]: associated type `IntoIter` not found for `L`
--> /home/appro/.cargo/registry/src/github.tiyicn.workers.dev-eae4ba8cbf2ce1c7/either-1.6.1/src/lib.rs:391:41
|
391 | pub fn into_iter(self) -> Either<L::IntoIter, R::IntoIter>
| ^^^^^^^^ associated type `IntoIter` not found
error[E0220]: associated type `IntoIter` not found for `R`
--> /home/appro/.cargo/registry/src/github.tiyicn.workers.dev-eae4ba8cbf2ce1c7/either-1.6.1/src/lib.rs:391:54
|
391 | pub fn into_iter(self) -> Either<L::IntoIter, R::IntoIter>
| ^^^^^^^^ associated type `IntoIter` not found
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0220`.
error: could not compile `either`
Caused by:
process didn't exit successfully: `rustc --crate-name either /home/appro/.cargo/registry/src/github.tiyicn.workers.dev-eae4ba8cbf2ce1c7/either-1.6.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=98ea2ad6c29b0e25 -C extra-filename=-98ea2ad6c29b0e25 --out-dir /home/appro/a/foo/target/debug/deps -L dependency=/home/appro/a/foo/target/debug/deps --cap-lints allow` (exit code: 1)
@rustbot modify labels: +regression-from-stable-to-stable -regression-untriaged
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
[-]'either' fails to compile of s390x[/-][+]'either' fails to compile on s390x[/+]jyn514 commentedon Feb 14, 2021
@dot-asm how did you get your rust compiler? #80810 may be related.
dot-asm commentedon Feb 14, 2021
I've initially noted the failure on travis-ci.com and then reduced it to the minimal setup with boilerplate project with single dependency on a s390x system. On travis it is was auto-updated by travis itself. And on "a s390x system" it was freshly installed with
curl ... | sh
.dot-asm commentedon Feb 14, 2021
Yes, appears as duplicate. Sorry about the noise.
As potentially relevant additional info, travis runs Ubuntu 16, and "a s390x system" - a seasoned SuSE 12.
jyn514 commentedon Feb 14, 2021
Ok, closing as a duplicate of #80810 then. Thanks for the report.