- 08 Apr, 2020 2 commits
-
-
Stefan Behnel authored
-
da-woods authored
The directives are currently inherited from user code, which is not correct, but it seemed difficult to reliably change the directives applied to the `__pyx_fused_cpdef` dispatch function, so instead the code was changed to be independent. Fixes https://github.com/cython/cython/issues/3492
-
- 07 Apr, 2020 8 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Omer Ozarslan authored
-
Omer Ozarslan authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Merge some runtime compilation runs into a single one in the CPython fstring test to reduce the overall runtime of the test.
-
Stefan Behnel authored
Closes GH-3481.
-
- 06 Apr, 2020 7 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
* allow closing async generators that are already closed https://bugs.python.org/issue39606 * Prevent double awaiting of async iterator https://bugs.python.org/issue39386 * Fix ag_running; prohibit running athrow/asend/aclose in parallel https://bugs.python.org/issue30773 * Fix asynchronous generators to handle GeneratorExit in athrow() https://bugs.python.org/issue33786 * Ignore GeneratorExit in async_gen_athrow_throw https://bugs.python.org/issue35409 * make async_generator_athrow object tolerant to throwing exceptions https://bugs.python.org/issue38013
-
- 03 Apr, 2020 4 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Volker-Weissmann authored
-
sairam4123 authored
-
- 02 Apr, 2020 6 commits
-
-
da-woods authored
Relaxed some of the checks of fused functions to be consistent with general CyFunctions. ``` # cython: binding=True def f(arg): pass class C: # or cdef class... f = f def g(self, ...): pass C.f(something) or C().f() # doesn't enforce any checks on the type of arg - # with a fused function it does. C.g(something) # assumes that self is "C" (at least for a cdef class) # but doesn't check it. A fused function enforces that it is C. C.f() # fails with a fused function claiming too few arguments, even though # default arguments may make it a valid call ``` Obviously removing checks does make things a little less safe, but it is consistent with the more general function behaviour. (I'm doing this as part of a broad plan to abuse fused functions to be a bit cleverer about decorators, but I don't think the motivation hugely matters for this change)
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
da-woods authored
Optimized inplace operations for str/unicode so that they're genuinely done in place if no-one else needs the object. This is what CPython tries to do (and string concatenation was a point where it significantly beat Cython at times). This only works if the types are known at compile time, so with unknown types CPython will still be faster in some cases. Note: Uses slightly odd-macro trickery - does modify the input argument too (although only in places where it shouldn't matter).
-
William Ayd authored
-
- 01 Apr, 2020 5 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
Fix branch prediction hints for plain (unlikely/exceptional) "raise" statements in if/else clauses that are not preceded by other statements.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
will-ca authored
* Rewrote signature matching for fused cpdef function dispatch to use a pre-built tree index in a mutable default argument and be O(n). * Added test to ensure proper differentiation between ambiguously compatible and definitely compatible arguments. * Added test to ensure fused cpdef's can be called by the module itself during import. * Added test to ensure consistent handling of ambiguous fused cpdef signatures. * Test for explicitly defined fused cpdef method. * Add .komodoproject to .gitignore. * Add /cython_debug/ to .gitignore. Closes #1385.
-
- 31 Mar, 2020 8 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
Disable a saved compiler option in the test runner that cannot currently be changed in the tests directly (only in external compiler runs).
-
da-woods authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
will-ca authored
Closes https://github.com/cython/cython/issues/3419
-
Stefan Behnel authored
-
Stefan Behnel authored
-