cython
1# cython: binding=True
2# mode: run
3# tag: cyfunction, cpp
4
5from libcpp.vector cimport vector
6
7cdef class A:
8def f1(self, a, b=1, vector[double] c = vector[double]()):
9pass
10def f2(self, a, b=1,/, vector[double] c = vector[double](1, 2.0)):
11pass
12def f3(self, a, /, b=1, *, c = vector[double](2, 3.0)):
13pass
14
15
16def check_defaults_on_methods():
17"""
18>>> A.f1.__defaults__
19(1, [])
20>>> A.f1.__kwdefaults__
21>>> A.f2.__defaults__
22(1, [2.0])
23>>> A.f2.__kwdefaults__
24>>> A.f3.__defaults__
25(1,)
26>>> A.f3.__kwdefaults__
27{'c': [3.0, 3.0]}
28"""
29pass
30