Skip to content

Requiring T to be Sync prevents use cases that work with task:spawn #17

Open
@athei

Description

@athei

I am wondering why ParallelStream requires T to be Sync where async_std::task::spawn requires the spawned future only to be Send + 'static.

I ran into this issue when trying to convert some code that executes the elements of a Stream in parallel using task::spawn directly + buffer_unordered.

The Stream is Send + 'static but not Sync and therefore I cannot convert it into a ParallelStream. Why does it need the T to be thread safe? It shouldn't be shared across the tasks, does it?

Trying to use it with this stream.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions