class X::Proc::Async::BindOrUse
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.