Skip to content

on(sch,sndr) and starts_on(sch,sndr) should not transform the senders they returns #340

Closed
@ericniebler

Description

@ericniebler

the overload of on that takes a scheduler and a sender (on(sch, sndr)) is defined to be:

transform_sender(
  query-or-default(get_domain, sch, default_domain()),
  make-sender(on, sch, sndr))

so we use the domain of the scheduler to find a customization. that's odd, because that is neither where the on sender will start nor where it will complete. on(sch,sndr) does not know where it will be started, and since it completes where it starts, it doesn't know where it completes either.

other algorithms use the domain of the predecessor sender. on(sch,sndr) has no predecessor sender. the logical conclusion is that on should not transform the result sender.

on(sch,sndr) should be simply make-sender(on, sch, sndr).

the same reasoning also applies to starts_on.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0bugSomething isn't workingneeds-proposed-resolutionThis issue does not yet have a proposed resolution but needs one

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions