+There is one circumstance that needs special attention. That is, users can choose to AOT compile their applications/libraries and target virtual threads using the `"target"` flag. However, users may run that compiled code on a JVM without virtual threads support. By using "target" to compile code, you've fixed an expectation of that the runtime environment support virtual threads. When users run compiled code targeting virtual threads in a runtime environment without them then `go` blocks will not guarantee non-blocking semantics anymore. In this particular circumstance, core.async will throw an error when the compiled `"target"` expectation does not match the runtime capability.
0 commit comments