On Tuesday, 3 November 2015 at 23:16:59 UTC, bertg wrote:
while (true) { writeln("receiving..."); std.concurrency.receive( (string msg) {writeln("conn: received ws message: " ~ msg);} ); writeln("received!"); } } }void handleConnectionWebSocket(std.concurrency.Tid caller, shared WebSocket ws){ auto sock = cast(WebSocket) ws; while (sock.connected) { writeln("sock in"); auto msgIn = sock.receiveText(); std.concurrency.send(caller, msgIn); } }
What is the type of `msgIn`? Try inserting `pragma(msg, typeof(msgIn))` after the line where it's declared and look at the compiler's output. My suspicion is that it's something like `char[]` or `const(char)[]`, which doesn't match the `string` (aka `immutable(char)[]`) you're trying to receive.
