diff --git a/crates/gpui3/src/interactive.rs b/crates/gpui3/src/interactive.rs index 4ad29f818f018bd13efe2b67d7a2107cac8b85ac..c0c787fe4992890f4555bf67720dbf2502c7f5b5 100644 --- a/crates/gpui3/src/interactive.rs +++ b/crates/gpui3/src/interactive.rs @@ -10,6 +10,7 @@ use refineable::Refineable; use smallvec::SmallVec; use std::{ any::{Any, TypeId}, + fmt::Debug, ops::Deref, sync::Arc, }; @@ -176,11 +177,14 @@ pub trait StatelessInteractive: Element { self } - fn context(mut self, context: impl Into) -> Self + fn context(mut self, context: C) -> Self where Self: Sized, + C: TryInto, + C::Error: Debug, { - self.stateless_interactivity().dispatch_context = context.into(); + self.stateless_interactivity().dispatch_context = + context.try_into().expect("invalid dispatch context"); self }