Commit graph

1697 commits

Author SHA1 Message Date
Yuji Kanagawa 6868d7f734
Merge branch 'master' into fix-mapping-protocol 2019-10-26 02:55:54 +09:00
Yuji Kanagawa f8e07b2d3f
Merge pull request #645 from sebpuetz/fix-set-attr-protocol
Fix derive for PyObjectSetAttrProtocol.
2019-10-26 00:24:02 +09:00
Sebastian Puetz 3b707c8511 Remove contains and iter from PyMappingProtocol.
The methods are not expected by CPython and are only explicitly
callable. To get iteration support, PyIterProtocol should be
implemented and to get support for `x in mapping`,
PySequenceProtocol's __contains__ should be implemented.

https://github.com/PyO3/pyo3/issues/611
2019-10-25 17:20:44 +02:00
Sebastian Puetz 4864c584f3 Fix derive for PyObjectSetAttrProtocol.
PyObjectSetAttrProtocol doesn't define associated type Success.
2019-10-25 16:10:00 +02:00
Yuji Kanagawa 30485f3f98
Merge pull request #642 from Alexander-N/to_string_lossy
Fix handling of invalid utf-8 sequences in PyString::to_string_lossy
2019-10-25 12:51:53 +09:00
Alexander Niederbühl defa43015a Fix handling of invalid utf-8 sequences in PyString::to_string_lossy 2019-10-24 22:45:32 +02:00
Yuji Kanagawa 34843d754a
Merge pull request #641 from ijl/pep590
FFI for PEP 590 Vectorcall
2019-10-24 14:16:26 +09:00
ijl caf4713b3a FFI for PEP 590 Vectorcall
https://www.python.org/dev/peps/pep-0590/

This was tested on 3.7 using _PyCFunctionFast and 3.8
using PyObject_Vectorcall. Extending pyo3-derive-backend
to generate code using vectorcall is not done here.

This exposes PyObject_Vectorcall with a link_name to the
underscored name on 3.8 because it is expected to be stabilized
on 3.9.

This fixes the "fast" objects being new in 3.7, not 3.6.
2019-10-23 21:40:38 +00:00
Yuji Kanagawa bab05e8135
Merge pull request #639 from Alexander-N/bytes-result
Guard against PyUnicode_AsUTF8AndSize returning null in PyString::as_bytes
2019-10-23 17:25:01 +09:00
Alexander Niederbühl 7a4909bdc7 Guard against PyUnicode_AsUTF8AndSize returning null 2019-10-23 00:39:47 +02:00
Yuji Kanagawa 45eb9f4b89
Merge pull request #635 from Alexander-N/datetime-tests
Fix minimum and maximum for datetime tests
2019-10-22 13:04:16 +09:00
Alexander Niederbühl 7aaef51ab0 Define limits for datetime tests as datetime literals 2019-10-21 16:50:43 +02:00
Yuji Kanagawa 6a89a904e3
Merge pull request #637 from Alexander-N/bytes
Implement conversion traits for PyBytes
2019-10-21 00:21:44 +09:00
Alexander Niederbühl 69cbf1a494 Remove test_get_pybytes 2019-10-20 15:12:17 +02:00
Alexander Niederbühl b0925e1109 Add conversion traits for PyBytes 2019-10-20 14:42:12 +02:00
Alexander Niederbühl ffe4e2f20a Make datetime range for tests smaller 2019-10-19 18:28:53 +02:00
Alexander Niederbühl 8cdc0b42dd Fix minimum and maximum for datetime tests
Depending on the local timezone one could get

  ValueError: year 0 is out of range
2019-10-19 17:56:39 +02:00
Yuji Kanagawa f6f607ef68
Merge pull request #624 from kngwyu/seq-setitem
Fix PySequenceProtocol::set_item
2019-10-19 13:44:49 +09:00
Yuji Kanagawa 69975339be
Merge pull request #630 from programmerjake/fix-bigint-overflow
Fix off-by-one error in FromPyObject for BigInt
2019-10-19 13:44:32 +09:00
Yuji Kanagawa 2713977fff
Merge pull request #631 from kngwyu/output-fix
Fix index error in parameter conversion codes
2019-10-19 12:40:19 +09:00
Jacob Lifshay f55037c377 switch to using macro for test & change test name 2019-10-18 16:20:16 -07:00
kngwyu 3c898ee27d [derive-backend] Do not increment option_pos for *args/**kwargs 2019-10-16 02:51:22 +09:00
Jacob Lifshay 85492842ac Fix off-by-one error in FromPyObject for BigInt
Fixes #629
2019-10-14 22:31:22 -07:00
Yuji Kanagawa c7f3cde930
Merge pull request #627 from Alexander-N/tests
Make tests for optional arguments more consistent
2019-10-15 00:02:37 +09:00
Alexander Niederbühl e91d969e17 Make tests for optional arguments more consistent 2019-10-13 23:17:57 +02:00
Yuji Kanagawa 1796335617
Merge pull request #626 from Alexander-N/unwrap
Remove unwrap for attribute parsing
2019-10-13 15:46:17 +09:00
Yuji Kanagawa e57a98944c
Merge pull request #625 from Alexander-N/none-default
Enable to give None as default value for an argument
2019-10-13 15:42:55 +09:00
Alexander Niederbühl 65ad8a87ff Remove unwrap for attribute parsing
This change enables getting a helpful error message.
2019-10-12 20:29:03 +02:00
Alexander Niederbühl c7a53611e0 Enable to give None as default value for an argument 2019-10-12 20:16:25 +02:00
Yuji Kanagawa 08bfec76a8
Merge pull request #623 from kngwyu/err-items
Support TryFromSliceError/TryFromIntError -> PyErr conversion
2019-10-12 21:03:39 +09:00
kngwyu d57f2423c8 Fix PySequenceProtocol::set_item 2019-10-12 21:03:21 +09:00
Yuji Kanagawa 77f8cad65f
Merge pull request #620 from namuyan/master
check python interpreter by --version option
2019-10-12 17:39:49 +09:00
kngwyu ee69ffd0f0 Support TryFromSliceError/TryFromIntError -> PyErr conversion 2019-10-12 17:25:28 +09:00
namuyan 91b3231038 complicated method chain 2019-10-12 17:00:19 +09:00
Yuji Kanagawa e6ad49b6bf
Merge pull request #622 from kngwyu/bigint-topyobj
Implement IntoPy<PyObject> for BigInts
2019-10-12 16:58:58 +09:00
kngwyu 13ccdbee84 Implement IntoPy<PyObject> for BigInts 2019-10-12 15:13:09 +09:00
Yuji Kanagawa f96595799d
Merge pull request #612 from macisamuele/maci-fix-test_pybuffer_doesnot_leak_memory
Add assertions around memory_diff in test_pybuffer_doesnot_leak_memory
2019-10-12 14:03:45 +09:00
namuyan 4b1c48831a catch stdout(others) and stderr(windows) output 2019-10-12 13:13:28 +09:00
namuyan 5d19b9124a check python interpreter by --version 2019-10-12 11:23:27 +09:00
Samuele Maci 25564e115a Trigger garbage collection before and after calling the rust binding 2019-10-11 18:46:21 +02:00
Samuele Maci 9ff41fcd3b Rename BytesExtractor method names to reflect their actions 2019-10-11 17:59:48 +02:00
Samuele Maci 681996da38 Add assertions around memory_diff in test_pybuffer_doesnot_leak_memory 2019-10-11 16:10:19 +02:00
Yuji Kanagawa 89b7c7e309
Merge pull request #616 from PyO3/v0.8.1
Bump version to 0.8.1
2019-10-08 11:50:31 +09:00
kngwyu d019fe814c Bump version to 0.8.1 2019-10-08 01:52:06 +09:00
Yuji Kanagawa d602b65347
Merge pull request #615 from PyO3/fix-specialization
Fix broken specialized implementations with Rust 1.40
2019-10-08 01:39:07 +09:00
Yuji Kanagawa 091284d449
Merge pull request #608 from kngwyu/bigint
Support conversion between num-bigint <-> Python Long
2019-10-08 01:38:58 +09:00
Martin Larralde 33bf37d3d8 Run cargo fmt on source code and update CHANGELOG.md 2019-10-07 17:12:32 +02:00
Martin Larralde 5397a62f48 Fix broken specialized implementations with Rust 1.40 2019-10-07 16:01:15 +02:00
Yuji Kanagawa 36318fc9b3
Merge pull request #613 from xrmx/patch-1
Cleanup some issues in get started guide page
2019-10-07 09:45:33 +09:00
Riccardo Magliocchetti fd3d47e037
guide: fixup links to examples/word-count
Relative paths don't work when built in pyo3.rs
2019-10-06 21:25:29 +02:00