digraph { subgraph { backend [label = "trait Backend"] web [label = "struct Web;"] native [label = "struct Native;"] web_back_impl [label = "impl Backend for Web", shape="rectangle"] native_back_impl [label = "impl Backend for Native", shape="rectangle"] web -> web_back_impl web_back_impl -> backend native -> native_back_impl native_back_impl -> backend ib_trait [label = "trait InputBoxTrait { type Backend; }"] ib_web [label = "struct InputBoxWeb {\l web_ref: Reference,\l}\l"] ib_native [label = "struct InputBoxNative {\l gl_ctx: GlContext,\l}\l"] ib_web_trait_impl [label = "impl InputBoxTrait for InputBoxWeb {\l type Backend = Web;\l}\l", shape="rectangle"] ib_native_trait_impl [label = "impl InputBoxTrait for InputBoxNative {\l type Backend = Native;\l}\l", shape="rectangle"] ib_web_trait_impl -> ib_trait ib_native_trait_impl -> ib_trait ib_web -> ib_web_trait_impl ib_web_trait_impl -> web ib_native -> ib_native_trait_impl ib_native_trait_impl -> native } }