Skip to content

'either' fails to compile on s390x #82095

Closed
@dot-asm

Description

@dot-asm

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

Activity

added
regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.
I-prioritizeIssue: Indicates that prioritization has been requested for this issue.
on Feb 14, 2021
changed the title [-]'either' fails to compile of s390x[/-] [+]'either' fails to compile on s390x[/+] on Feb 14, 2021
jyn514

jyn514 commented on Feb 14, 2021

@jyn514
Member

@dot-asm how did you get your rust compiler? #80810 may be related.

dot-asm

dot-asm commented on Feb 14, 2021

@dot-asm
Author

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

dot-asm commented on Feb 14, 2021

@dot-asm
Author

#80810 may be related.

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

jyn514 commented on Feb 14, 2021

@jyn514
Member

Ok, closing as a duplicate of #80810 then. Thanks for the report.

removed
I-prioritizeIssue: Indicates that prioritization has been requested for this issue.
on Feb 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    O-SystemZTarget: SystemZ processors (s390x)regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @apiraino@dot-asm@jyn514@LeSeulArtichaut@rustbot

        Issue actions

          'either' fails to compile on s390x · Issue #82095 · rust-lang/rust