@@ -103,20 +103,13 @@ pub trait WidgetAny<MSG> {
103103 fn state ( & self ) -> Box < dyn Any > ;
104104
105105 fn children ( & self ) -> & [ Element < MSG > ] ;
106- fn children_mut ( & mut self ) -> & mut [ Element < MSG > ] ;
107106 fn children_tree ( & self ) -> Vec < Tree > ;
108107
109108 fn diff ( & self , tree : & mut Tree ) ;
110109
111110 fn layout ( & self , tree : & mut Tree , avalilable : & ParentLayout , ctx : & LayoutCtx ) -> Node ;
112111 fn render ( & self , renderer : & mut dyn Renderer , layout : & Node , tree : & Tree , ctx : & RenderCtx ) ;
113- fn update (
114- & mut self ,
115- event : input:: Event ,
116- layout : & Node ,
117- tree : & mut Tree ,
118- ctx : & mut UpdateCtx < MSG > ,
119- ) ;
112+ fn update ( & self , event : input:: Event , layout : & Node , tree : & mut Tree , ctx : & mut UpdateCtx < MSG > ) ;
120113}
121114
122115impl < MSG , W : Widget < MSG > > WidgetAny < MSG > for W {
@@ -132,10 +125,6 @@ impl<MSG, W: Widget<MSG>> WidgetAny<MSG> for W {
132125 Widget :: children ( self )
133126 }
134127
135- fn children_mut ( & mut self ) -> & mut [ Element < MSG > ] {
136- Widget :: children_mut ( self )
137- }
138-
139128 fn children_tree ( & self ) -> Vec < Tree > {
140129 Widget :: children_tree ( self )
141130 }
@@ -153,7 +142,7 @@ impl<MSG, W: Widget<MSG>> WidgetAny<MSG> for W {
153142 }
154143
155144 fn update (
156- & mut self ,
145+ & self ,
157146 event : input:: Event ,
158147 layout : & Node ,
159148 tree : & mut Tree ,
@@ -174,10 +163,6 @@ pub trait Widget<MSG> {
174163 & [ ]
175164 }
176165
177- fn children_mut ( & mut self ) -> & mut [ Element < MSG > ] {
178- & mut [ ]
179- }
180-
181166 fn children_tree ( & self ) -> Vec < Tree > {
182167 self . children ( )
183168 . iter ( )
@@ -204,7 +189,7 @@ pub trait Widget<MSG> {
204189 }
205190
206191 fn update (
207- & mut self ,
192+ & self ,
208193 event : input:: Event ,
209194 layout : & Node ,
210195 tree : & mut Tree < Self :: State > ,
@@ -236,20 +221,20 @@ pub fn default_render<MSG, W: Widget<MSG> + ?Sized>(
236221}
237222
238223pub fn default_update < MSG , W : Widget < MSG > + ?Sized > (
239- this : & mut W ,
224+ this : & W ,
240225 event : input:: Event ,
241226 layout : & Node ,
242227 tree : & mut Tree < W :: State > ,
243228 ctx : & mut UpdateCtx < MSG > ,
244229) {
245230 for ( ( ch, layout) , tree) in this
246- . children_mut ( )
247- . iter_mut ( )
231+ . children ( )
232+ . iter ( )
248233 . zip ( layout. children . iter ( ) )
249234 . zip ( tree. children . iter_mut ( ) )
250235 . rev ( )
251236 {
252- ch. as_widget_mut ( ) . update ( event. clone ( ) , layout, tree, ctx) ;
237+ ch. as_widget ( ) . update ( event. clone ( ) , layout, tree, ctx) ;
253238
254239 if ctx. is_event_captured ( ) {
255240 return ;
0 commit comments