In Go a select() statement that uses the same synchronous channel in a single thread will fail on the deadlock. In Scala channels implemented in this project, the code won't block, and also the send will transfer the value, but the receiver won't be triggered until another such call.
Describe the feature
In Go a
select()
statement that uses the same synchronous channel in a single thread will fail on the deadlock. In Scala channels implemented in this project, the code won't block, and also the send will transfer the value, but the receiver won't be triggered until another such call.Here is an example:
Scala code will print "Sent 10", GoLang equivalent code will fail on deadlock.
Since Scala does not have deadlock checkers, it should just deadlock in this case.