Russel Winder wrote:

On Fri, 2018-06-01 at 16:37 +0300, ketmar via Digitalmars-d-learn
wrote:

[…]
yeah. if it receives something it doesn't expect (and there is no
`Variant` clause to catch it), it throws. and exceptions from threads are
silently dropped on the floor -- along with the dead threads. so it is better
to always wrap your threads in `try/catch`, and at least log an
exception.

It seems that in the case he presence of the Variant doesn't matter.

The message sent is of type frontend_manager.FrontendAppeared and one
of the receive types is frontend_manager.FrontendAppreared yet this
fails to match but it is not treated as a Variant.
The stack trace is:

it looks like "// type T is not constructible from A" phobos assertion triggered. that is, std.variant cannot wrap the struct, and all hell breaks loose.

Reply via email to