В упрощенной реализации Actor в RedBook они используют очередь на основе узлов MPSC для Actor. Они определяют узел по этой строке кода:
private class Node[A](var a: A = null.asInstanceOf[A]) extends AtomicReference[Node[A]]
Но как мы можем использовать Node[A]
в качестве параметра типа AtomicReference
, потому что у нас еще нет class Node[A]
? Это способ объявления рекурсивного типа в Scala?