Fixed now. The only thing that needs to be changes is the order of the message handlers, because a bool
is also matched positive against uint
:
import vibe.d;
shared static this() {
setLogLevel(LogLevel.debugV);
setPlainLogging(false);
auto t1 = runTask({
yield();
bool alive = true;
while(alive) {
receive(
(bool){
logDebug("bool message");
alive = false;
},
(uint){
logDebug("uint message");
Task.getThis().send(true); /// works now
}
);
}
logInfo("t1 terminated");
});
runTask({
yield();
t1.send(23u);
});
}
https://github.com/rejectedsoftware/vibe.d/commit/42857a7041db33a0e02e7bd13e35e6a0c13d4105