@@ -376,6 +376,14 @@ def put_nb_func(self, fn: NbFunction, name: Optional[str] = None) -> None:
376
376
self .write_ln (f"@{ overload } " )
377
377
self .put_nb_overload (fn , s , name )
378
378
379
+ def put_nb_method (self , fn : NbFunction , name : Optional [str ] = None ) -> None :
380
+ fn_name = getattr (fn , "__name__" , None )
381
+ # Check if this function is an alias
382
+ if name and fn_name and name != fn_name :
383
+ self .write_ln (f"{ name } = { fn_name } \n " )
384
+ return
385
+ self .put_nb_func (fn , name )
386
+
379
387
def put_function (self , fn : Callable [..., Any ], name : Optional [str ] = None , parent : Optional [object ] = None ):
380
388
"""Append a function of an arbitrary type to the stub"""
381
389
# Don't generate a constructor for nanobind classes that aren't constructible
@@ -848,7 +856,7 @@ def put(self, value: object, name: Optional[str] = None, parent: Optional[object
848
856
elif tp_mod == "nanobind" :
849
857
if tp_name == "nb_method" :
850
858
value = cast (NbFunction , value )
851
- self .put_nb_func (value , name )
859
+ self .put_nb_method (value , name )
852
860
elif tp_name == "nb_static_property" :
853
861
value = cast (NbStaticProperty , value )
854
862
self .put_nb_static_property (name , value )
0 commit comments