@@ -176,67 +176,82 @@ macro_rules! __property {
176176#[ doc( hidden) ]
177177#[ macro_export]
178178macro_rules! property_internal {
179-
180- ( & $( $t: ident) ::+. $method: tt( $( $argument: expr) ,* $( , ) ?) , ref $m: expr) => { {
179+ ( & $( $t: ident) ::+ $( :: <$( $t_ty_args: ty) ,* $( , ) ?>) ?
180+ . $method: tt $( :: <$( $m_ty_args: ty) ,* $( , ) ?>) ? ( $( $argument: expr) ,* $( , ) ?) ,
181+ ref $m: expr) => { {
181182 $crate:: property_internal!( @self_arg
182- struct_type: [ & $( $t) ::+]
183- method_prefix: [ $( $t) ::+]
184- [ $method] [ $( $argument) ,* ] [ $m] )
183+ struct_type: [ & $( $t) ::+ $ ( <$ ( $t_ty_args ) , * > ) * ]
184+ method_prefix: [ $( $t) ::+ $ ( :: <$ ( $t_ty_args ) , * > ) * ]
185+ [ $method $ ( :: <$ ( $m_ty_args ) , * > ) * ] [ $( $argument) ,* ] [ $m] )
185186 } } ;
186- ( $( $t: ident) ::+. $method: tt( $( $argument: expr) ,* $( , ) ?) , ref $m: expr) => { {
187+ ( $( $t: ident) ::+ $( :: <$( $t_ty_args: ty) ,* $( , ) ?>) ?
188+ . $method: tt $( :: <$( $m_ty_args: ty) ,* $( , ) ?>) ? ( $( $argument: expr) ,* $( , ) ?) ,
189+ ref $m: expr) => { {
187190 $crate:: property_internal!( @self_arg
188- struct_type: [ $( $t) ::+]
189- method_prefix: [ $( $t) ::+]
190- [ $method] [ $( $argument) ,* ] [ $m] )
191+ struct_type: [ $( $t) ::+ $ ( <$ ( $t_ty_args ) , * > ) * ]
192+ method_prefix: [ $( $t) ::+ $ ( :: <$ ( $t_ty_args ) , * > ) * ]
193+ [ $method $ ( :: <$ ( $m_ty_args ) , * > ) * ] [ $( $argument) ,* ] [ $m] )
191194 } } ;
192- ( & :: $( $t: ident) ::+. $method: tt( $( $argument: expr) ,* $( , ) ?) , ref $m: expr) => { {
195+ ( & :: $( $t: ident) ::+ $( :: <$( $t_ty_args: ty) ,* $( , ) ?>) ?
196+ . $method: tt $( :: <$( $m_ty_args: ty) ,* $( , ) ?>) ? ( $( $argument: expr) ,* $( , ) ?) ,
197+ ref $m: expr) => { {
193198 $crate:: property_internal!( @self_arg
194- struct_type: [ & :: $( $t) ::+]
195- method_prefix: [ :: $( $t) ::+]
196- [ $method] [ $( $argument) ,* ] [ $m] )
199+ struct_type: [ & :: $( $t) ::+ $ ( <$ ( $t_ty_args ) , * > ) * ]
200+ method_prefix: [ :: $( $t) ::+ $ ( :: <$ ( $t_ty_args ) , * > ) * ]
201+ [ $method $ ( :: <$ ( $m_ty_args ) , * > ) * ] [ $( $argument) ,* ] [ $m] )
197202 } } ;
198- ( :: $( $t: ident) ::+. $method: tt( $( $argument: expr) ,* $( , ) ?) , ref $m: expr) => { {
203+ ( :: $( $t: ident) ::+ $( :: <$( $t_ty_args: ty) ,* $( , ) ?>) ?
204+ . $method: tt $( :: <$( $m_ty_args: ty) ,* $( , ) ?>) ? ( $( $argument: expr) ,* $( , ) ?) ,
205+ ref $m: expr) => { {
199206 $crate:: property_internal!( @self_arg
200- struct_type: [ :: $( $t) ::+]
201- method_prefix: [ :: $( $t) ::+]
202- [ $method] [ $( $argument) ,* ] [ $m] )
207+ struct_type: [ :: $( $t) ::+ $ ( <$ ( $t_ty_args ) , * > ) * ]
208+ method_prefix: [ :: $( $t) ::+ $ ( :: <$ ( $t_ty_args ) , * > ) * ]
209+ [ $method $ ( :: <$ ( $m_ty_args ) , * > ) * ] [ $( $argument) ,* ] [ $m] )
203210 } } ;
204211
205- ( & $( $t: ident) ::+. $method: tt( $( $argument: expr) ,* $( , ) ?) , $m: expr) => { {
212+ ( & $( $t: ident) ::+ $( :: <$( $t_ty_args: ty) ,* $( , ) ?>) ?
213+ . $method: tt $( :: <$( $m_ty_args: ty) ,* $( , ) ?>) ? ( $( $argument: expr) ,* $( , ) ?) ,
214+ $m: expr) => { {
206215 $crate:: property_internal!( @self_dot
207- struct_type: [ &&$( $t) ::+]
208- [ $method] [ $( $argument) ,* ] [ $m] )
216+ struct_type: [ &&$( $t) ::+ $ ( <$ ( $t_ty_args ) , * > ) * ]
217+ [ $method $ ( :: <$ ( $m_ty_args ) , * > ) * ] [ $( $argument) ,* ] [ $m] )
209218 } } ;
210- ( $( $t: ident) ::+. $method: tt( $( $argument: expr) ,* $( , ) ?) , $m: expr) => { {
219+ ( $( $t: ident) ::+ $( :: <$( $t_ty_args: ty) ,* $( , ) ?>) ?
220+ . $method: tt $( :: <$( $m_ty_args: ty) ,* $( , ) ?>) ? ( $( $argument: expr) ,* $( , ) ?) ,
221+ $m: expr) => { {
211222 $crate:: property_internal!( @self_dot
212- struct_type: [ & $( $t) ::+]
213- [ $method] [ $( $argument) ,* ] [ $m] )
223+ struct_type: [ & $( $t) ::+ $ ( <$ ( $t_ty_args ) , * > ) * ]
224+ [ $method $ ( :: <$ ( $m_ty_args ) , * > ) * ] [ $( $argument) ,* ] [ $m] )
214225 } } ;
215- ( & :: $( $t: ident) ::+. $method: tt( $( $argument: expr) ,* $( , ) ?) , $m: expr) => { {
226+ ( & :: $( $t: ident) ::+ $( :: <$( $t_ty_args: ty) ,* $( , ) ?>) ?
227+ . $method: tt $( :: <$( $m_ty_args: ty) ,* $( , ) ?>) ? ( $( $argument: expr) ,* $( , ) ?) ,
228+ $m: expr) => { {
216229 $crate:: property_internal!( @self_dot
217- struct_type: [ &&:: $( $t) ::+]
218- [ $method] [ $( $argument) ,* ] [ $m] )
230+ struct_type: [ &&:: $( $t) ::+ $ ( <$ ( $t_ty_args ) , * > ) * ]
231+ [ $method $ ( :: <$ ( $m_ty_args ) , * > ) * ] [ $( $argument) ,* ] [ $m] )
219232 } } ;
220- ( :: $( $t: ident) ::+. $method: tt( $( $argument: expr) ,* $( , ) ?) , $m: expr) => { {
233+ ( :: $( $t: ident) ::+ $( :: <$( $t_ty_args: ty) ,* $( , ) ?>) ?
234+ . $method: tt $( :: <$( $m_ty_args: ty) ,* $( , ) ?>) ? ( $( $argument: expr) ,* $( , ) ?) ,
235+ $m: expr) => { {
221236 $crate:: property_internal!( @self_dot
222- struct_type: [ & :: $( $t) ::+]
223- [ $method] [ $( $argument) ,* ] [ $m] )
237+ struct_type: [ & :: $( $t) ::+ $ ( <$ ( $t_ty_args ) , * > ) * ]
238+ [ $method $ ( :: <$ ( $m_ty_args ) , * > ) * ] [ $( $argument) ,* ] [ $m] )
224239 } } ;
225240
226241 ( @self_arg struct_type: [ $struct_ty: ty]
227242 method_prefix: [ $( $method_prefix: tt) +]
228- [ $method: tt] [ $( $argument: expr) ,* ] [ $m: expr] ) => { {
243+ [ $( $ method: tt) * ] [ $( $argument: expr) ,* ] [ $m: expr] ) => { {
229244 $crate:: matchers:: __internal_unstable_do_not_depend_on_these:: property_ref_matcher(
230- |o: $struct_ty| $( $method_prefix) * :: $method ( o, $( $argument) ,* ) ,
231- & stringify!( $method( $( $argument) ,* ) ) ,
245+ |o: $struct_ty| $( $method_prefix) * :: $( $ method) * ( o, $( $argument) ,* ) ,
246+ & stringify!( $( $ method) * ( $( $argument) ,* ) ) ,
232247 $crate:: matcher_support:: __internal_unstable_do_not_depend_on_these:: auto_eq!( $m) )
233248 } } ;
234249
235250 ( @self_dot struct_type: [ $struct_ty: ty]
236- [ $method: tt] [ $( $argument: expr) ,* ] [ $m: expr] ) => { {
251+ [ $( $ method: tt) * ] [ $( $argument: expr) ,* ] [ $m: expr] ) => { {
237252 $crate:: matchers:: __internal_unstable_do_not_depend_on_these:: property_matcher(
238- |o: $struct_ty| o. $method ( $( $argument) ,* ) ,
239- & stringify!( $method( $( $argument) ,* ) ) ,
253+ |o: $struct_ty| o. $( $ method) * ( $( $argument) ,* ) ,
254+ & stringify!( $( $ method) * ( $( $argument) ,* ) ) ,
240255 $crate:: matcher_support:: __internal_unstable_do_not_depend_on_these:: auto_eq!( $m) )
241256 } } ;
242257}
0 commit comments