/*\ <<<<>>>><<>><><<>><<<*>>><<>><><<>><<<<>>>> View <<<<>>>><<>><><<>><<<*>>><<>><><<>><<<<>>>> \*/ pub trait View: Send + Sync { /// Notification message for the observers type Msg: Send + Sync; } //<<<<>>>><<>><><<>><<<*>>><<>><><<>><<<<>>>> use std::sync::Arc; use std::sync::RwLock; impl View for RwLock { type Msg = V::Msg; } impl View for Arc { type Msg = V::Msg; } impl View for Option { type Msg = V::Msg; }