@@ -196,9 +196,14 @@ pub(crate) mod export {
196196 & self . window . label
197197 }
198198
199- pub ( crate ) fn emit_internal < E , S > ( & self , event : & E , payload : Option < S > ) -> crate :: Result < ( ) >
199+ pub ( crate ) fn emit_internal < E : ?Sized , S > (
200+ & self ,
201+ event : & E ,
202+ payload : Option < S > ,
203+ ) -> crate :: Result < ( ) >
200204 where
201- E : TagRef < P :: Event > + ?Sized ,
205+ P :: Event : Borrow < E > ,
206+ E : TagRef < P :: Event > ,
202207 S : Serialize ,
203208 {
204209 let js_payload = match payload {
@@ -218,20 +223,22 @@ pub(crate) mod export {
218223 }
219224
220225 /// Emits an event to the current window.
221- pub fn emit < E , S > ( & self , event : & E , payload : Option < S > ) -> crate :: Result < ( ) >
226+ pub fn emit < E : ? Sized , S > ( & self , event : & E , payload : Option < S > ) -> crate :: Result < ( ) >
222227 where
223- E : TagRef < P :: Event > + ?Sized ,
228+ P :: Event : Borrow < E > ,
229+ E : TagRef < P :: Event > ,
224230 S : Serialize ,
225231 {
226232 self . emit_internal ( event, payload)
227233 }
228234
229235 /// Emits an event on all windows except this one.
230- pub fn emit_others < E : TagRef < P :: Event > + ?Sized , S : Serialize + Clone > (
231- & self ,
232- event : & E ,
233- payload : Option < S > ,
234- ) -> crate :: Result < ( ) > {
236+ pub fn emit_others < E : ?Sized , S > ( & self , event : & E , payload : Option < S > ) -> crate :: Result < ( ) >
237+ where
238+ P :: Event : Borrow < E > ,
239+ E : TagRef < P :: Event > ,
240+ S : Serialize + Clone ,
241+ {
235242 self . manager . emit_filter ( event, payload, |w| w != self )
236243 }
237244
@@ -254,10 +261,10 @@ pub(crate) mod export {
254261 }
255262
256263 /// Triggers an event on this window.
257- pub fn trigger < E > ( & self , event : & E , data : Option < String > )
264+ pub fn trigger < E : ? Sized > ( & self , event : & E , data : Option < String > )
258265 where
259- E : TagRef < P :: Event > + ?Sized ,
260266 P :: Event : Borrow < E > ,
267+ E : TagRef < P :: Event > ,
261268 {
262269 let label = self . window . label . clone ( ) ;
263270 self . manager . trigger ( event, Some ( label) , data)
0 commit comments