Sending messages to self inside receive leads to recursive mutex lock error.

import vibe.d;

shared static this() {
  setLogLevel(LogLevel.debugV);
  setPlainLogging(false);
  auto t1 = runTask({
    yield();
    bool alive = true;
    while(alive) {
      receive(
        (uint){
          logDebug("uint message");
          Task.getThis().send(true); /// fault
        },
        (bool){
          logDebug("bool message");
          alive = false;
        }
      );
    }
    logInfo("t1 terminated");
  });
  
  runTask({
    yield();
    t1.send(23u);
  });
}

Result:

[02240F80:02240E80 dbg] uint message
[02240F80:02240E80 CRITICAL] CoreTaskFiber was terminated unexpectedly: Recursive mutex lock.