Николай Ким, автор actix, помог мне проанализировать проблему.Оказывается, что присвоение результата Supervisor::start()
переменной с именем _
автоматически отбрасывает результат, поэтому супервизор на самом деле не запустится правильно.
Решением этой проблемы является переименование _
переменная _addr
:
let _addr: Addr<Unsync, _> = Supervisor::start(|_| MyActor::default());
После переименования Supervisor
правильно перезапускает субъект MyActor
после его остановки.?