class X::Proc::Async::BindOrUse does X::Proc::Async {}
In general, it occurs when there's some mistake in the direction the stream flows, for instance:
my $p = Proc::Async.new("ls", :w); my $h = "ls.out".IO.open(:w); $p.bind-stdin($h); # Fails with OUTPUT: «Cannot both bind stdin to a handle and also use :w»
In this case, stdin
is already bound and cannot be used again; one of them should flow :out
and the other one :w
to work correctly.