diff options
author | da-woods <dw-git@d-woods.co.uk> | 2022-03-15 10:08:52 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-15 11:08:52 +0100 |
commit | 0b3ccd7fc8de6bce50a9ca990f2e5db95a1100d8 (patch) | |
tree | 5d8148391388309f30a3c0b0edd845076ca59b12 /tests | |
parent | 23eb27c6b5750be4d6463900bd14f1a81093594d (diff) | |
download | cython-0b3ccd7fc8de6bce50a9ca990f2e5db95a1100d8.tar.gz |
Allow None to be passed into arguments annotated as type "object" (GH-4669)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/run/ext_type_none_arg.pyx | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/run/ext_type_none_arg.pyx b/tests/run/ext_type_none_arg.pyx index af4bfc47d..73caaa775 100644 --- a/tests/run/ext_type_none_arg.pyx +++ b/tests/run/ext_type_none_arg.pyx @@ -206,6 +206,30 @@ def object_default(object o): # always behaves like 'or None' return type(o).__name__ @cython.allow_none_for_extension_args(False) +def object_default_annotation(o : object): + """ + >>> object_default_annotation(object()) + 'object' + >>> object_default_annotation([]) + 'list' + >>> object_default_annotation(None) + 'NoneType' + """ + return type(o).__name__ + +# no decorator +def object_default_annotation2(o : object): + """ + >>> object_default_annotation2(object()) + 'object' + >>> object_default_annotation2([]) + 'list' + >>> object_default_annotation2(None) + 'NoneType' + """ + return type(o).__name__ + +@cython.allow_none_for_extension_args(False) def object_default_none(object o=None): # behaves like 'or None' """ >>> object_default_none(object()) |