@@ -708,7 +708,7 @@ class UPat(MathTrait):
708
708
__slots__ = ("op" , "dtype" , "arg" , "name" , "src" )
709
709
def __init__ (self , op :Optional [Union [Ops , tuple [Ops , ...], set [Ops ]]]= None , dtype :Optional [Union [DType , tuple [DType , ...]]]= None ,
710
710
src :Optional [Union [tuple [UPat , ...], list [UPat ], UPat ]]= None , arg :Any = None ,
711
- name :Optional [str ]= None , allow_any_len :bool = False , location = None , custom_early_reject :Optional [set [Ops ]]= None ):
711
+ name :Optional [str ]= None , allow_any_len :bool = False , custom_early_reject :Optional [set [Ops ]]= None , location = None ):
712
712
assert op is None or isinstance (op , (Ops , tuple , set )), "op must be Ops or tuple of Ops"
713
713
self .op : Optional [tuple [Ops , ...]] = (op ,) if isinstance (op , Ops ) else (tuple (op ) if isinstance (op , set ) else op )
714
714
self .dtype : Optional [tuple [DType , ...]] = (dtype ,) if isinstance (dtype , DType ) else dtype
@@ -733,7 +733,8 @@ def __init__(self, op:Optional[Union[Ops, tuple[Ops, ...], set[Ops]]]=None, dtyp
733
733
upat_match = [src ] if isinstance (src , UPat ) else ([] if src is None else self .src [0 ])
734
734
self .early_reject = {pp .op [0 ] for pp in upat_match if pp .op is not None and len (pp .op ) == 1 }
735
735
736
- def __reduce__ (self ): return UPat ,(self .op , self .dtype , self ._in_src , self .arg , self .name , not self .strict_length , self .custom_early_reject )
736
+ def __reduce__ (self ):
737
+ return UPat , (self .op , self .dtype , self ._in_src , self .arg , self .name , not self .strict_length , self .custom_early_reject , self .location )
737
738
def named (self , name :str ): return UPat (self .op , self .dtype , self ._in_src , self .arg , name , not self .strict_length , self .custom_early_reject )
738
739
739
740
@staticmethod
0 commit comments