Skip to content

Rust 1.20 regression, multiqueue 0.3.2, match arms have incompatible types #42842

Closed
@brson

Description

@brson

https://github.com/schets/multiqueue

brian@ip-10-145-43-250:/mnt2/dev/multiqueue⟫ git log -1
commit f28f252a0c77d628d18192913d5a8049d85e9a1e
Merge: 133dc88 b3c40d6
Author: Samuel Schetterer <samschet@gmail.com>
Date:   Wed Apr 5 12:14:19 2017 -0400

    Merge pull request #12 from schets/fix_sync_req

    Added proper Sync requirements for Broadcast Queues
brian@ip-10-145-43-250:/mnt2/dev/euclid⟫ rustc +beta -Vv
rustc 1.19.0-beta.2 (a175ee509 2017-06-15)
binary: rustc
commit-hash: a175ee509bca5069b01cea9a35c6f333d2250eee
commit-date: 2017-06-15
host: x86_64-unknown-linux-gnu
release: 1.19.0-beta.2
LLVM version: 4.0
error[E0308]: match arms have incompatible types
   --> src/bin/example.rs:107:29
    |
107 |           scope.spawn(move || for val in single_recv.iter_with(|item_ref| 10 * *item_ref) {
    |  _____________________________^
108 | |             println!("{}", val);
109 | |         });
    | |_________^ expected (), found i32
    |
    = note: expected type `()`
               found type `i32`
note: match arm with an incompatible type
   --> src/bin/example.rs:107:29
    |
107 |           scope.spawn(move || for val in single_recv.iter_with(|item_ref| 10 * *item_ref) {
    |  _____________________________^
108 | |             println!("{}", val);
109 | |         });
    | |_________^

error[E0308]: match arms have incompatible types
   --> src/bin/example.rs:114:29
    |
114 |           scope.spawn(move || for val in
    |  _____________________________^
115 | |             single_recv_2.try_iter_with(|item_ref| 10 * *item_ref) {
116 | |             println!("{}", val);
117 | |         });
    | |_________^ expected (), found i32
    |
    = note: expected type `()`
               found type `i32`
note: match arm with an incompatible type
   --> src/bin/example.rs:114:29
    |
114 |           scope.spawn(move || for val in
    |  _____________________________^
115 | |             single_recv_2.try_iter_with(|item_ref| 10 * *item_ref) {
116 | |             println!("{}", val);
117 | |         });
    | |_________^

error: aborting due to previous error(s)

error: Could not compile `multiqueue`.

cc @schets

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions