Commit graph

518 commits

Author SHA1 Message Date
messense 95d94c19b3
Rustup to 1.22.0-nightly 2017-09-30 2017-10-01 20:32:35 +08:00
messense e5780ed2b8
Add const_ptr_null_mut feature to a doctest 2017-09-19 20:09:46 +08:00
messense 703883687a
Add features to tests 2017-09-19 20:03:03 +08:00
messense 9da1247484
Fix build on rustc nightly-2017-09-16
Use forked version of spin-rs for now.

Closes #79
2017-09-19 19:51:25 +08:00
Nikolay Kim 25472e5428 cleanup warnings 2017-08-11 20:47:37 -07:00
Nikolay Kim b92056b429 update doc string 2017-08-11 20:42:26 -07:00
Nikolay Kim 03b6e5c122 refactor object allocation system 2017-08-11 20:17:09 -07:00
Nikolay Kim ed8599cfd3 refactor __new__ method implementation 2017-08-08 00:27:33 -07:00
Nikolay Kim 3b00145040 fix #[prop] impl 2017-08-07 23:52:24 -07:00
Nikolay Kim 11f244692e add convenience call related methods to ObjectProtocol 2017-08-04 11:47:51 -07:00
Nikolay Kim a61c5e56a0 add convenience method to PyErr and exception types 2017-08-04 11:47:35 -07:00
Nikolay Kim 21939c4d8b drop PyNativeException 2017-08-03 17:07:13 -07:00
Nikolay Kim 16297a9917 restore release method 2017-08-03 16:57:59 -07:00
Nikolay Kim 19d20471c9 fix import_exception macro 2017-08-03 16:57:46 -07:00
Nikolay Kim 130c33ec09 export IntoPyDictPointer 2017-08-03 15:55:23 -07:00
Nikolay Kim 590edad93c rename get_super() 2017-08-03 15:45:28 -07:00
Nikolay Kim 06a0b0514b add IntoPyDictPointer impl for tuple 2017-08-03 15:42:32 -07:00
Nikolay Kim cd6558a19b Introduce IntoPyDictPointer similar to IntoPyTuple #69 2017-08-03 15:01:52 -07:00
Nikolay Kim b3cc6f1e61 fix clippy warnings 2017-08-03 11:55:39 -07:00
Nikolay Kim 5537ece078 fix unstable tests 2017-08-03 11:37:24 -07:00
Nikolay Kim 85eced19dd add IntoIterator for PyDict 2017-08-03 11:04:45 -07:00
Nikolay Kim e652383004 added IntoIterator for PyList 2017-08-03 10:47:26 -07:00
Nikolay Kim b7f3231ecd improve iterator support for PyTuple 2017-08-03 10:39:01 -07:00
Nikolay Kim 44da09a0f4 add std TryFrom impl for type conversion #73 2017-08-02 14:47:54 -07:00
Nikolay Kim e44365bec6 make cast_xxx api consistent with PyObject::from_xxx api 2017-08-01 14:29:25 -07:00
Nikolay Kim 5dad22e3db temp fix for #71 2017-08-01 14:09:13 -07:00
Nikolay Kim 95915b55dd Merge branch 'master' of github.com:PyO3/pyo3 2017-07-31 10:43:23 -07:00
Nikolay Kim c44e23f4b9 add prelude mod 2017-07-31 10:42:55 -07:00
messense 6a545f4abb
Less allocation in extract_sequence 2017-07-31 22:33:28 +08:00
Nikolay Kim 325070f6c9 refactor downcast process 2017-07-28 23:19:00 -07:00
messense 0e2afb7b8b Add __dict__ support (#68) 2017-07-28 22:21:59 +08:00
messense 60f6a73217 Impl IntoPyObject for HashMap and BTreeMap (#67) 2017-07-28 12:36:45 +08:00
Nikolay Kim aa5b4af1d4 custom dealloc for py3 2017-07-27 20:08:09 -07:00
Nikolay Kim afcfed492b only c classes only as base class 2017-07-27 19:47:01 -07:00
Nikolay Kim 665a1da016 added PySuper and __init__ support 2017-07-27 16:20:21 -07:00
messense ebcd4f5a33 subclass support (#64) 2017-07-27 23:05:15 +08:00
Nikolay Kim d567817035 add base support for inheritance 2017-07-26 22:29:55 -07:00
Nikolay Kim 8227ce81e2 various cleanups 2017-07-26 20:29:07 -07:00
Nikolay Kim 67ce4e4516 fix long type 2017-07-26 18:46:22 -07:00
Nikolay Kim 139a31b1e4 implement ToPyObject and IntoPyObject for PyErr 2017-07-26 16:13:45 -07:00
Nikolay Kim e5c1fcf11d no need mut for PyErr::clone_ref; IntoPyTuple::to_tuple is not needed 2017-07-26 15:08:34 -07:00
Nikolay Kim fc3ab84bfa better constrain for PyNativeException::new 2017-07-26 14:56:08 -07:00
Nikolay Kim a4fd878cb7 pyerr cleanups 2017-07-26 14:28:04 -07:00
Nikolay Kim a20230e73f Create rust type for exceptions defined in python #45 2017-07-26 12:56:07 -07:00
Nikolay Kim e45eb6e878 rename ToPyErr to PyErrArguments 2017-07-26 10:47:17 -07:00
Nikolay Kim b250ad22ca update guide related to exception 2017-07-26 09:16:26 -07:00
Nikolay Kim a120bbf15e Refactor implementation. Drop parameter from constructor 2017-07-26 01:11:00 -07:00
Nikolay Kim 86252cda4c simplify PyTypeInfo and PyTypeObject 2017-07-25 18:39:11 -07:00
Nikolay Kim 65a42a2b1a remove py param 2017-07-25 18:11:45 -07:00
Nikolay Kim 3ab5e4526c add weakref support #56 2017-07-24 13:03:18 -07:00
Nikolay Kim ce15dda5b6 Allow to add gc support without implementing PyGCProtocol #57 2017-07-24 12:19:05 -07:00
messense 1834ec4a33
Add PyDict::iter 2017-07-23 22:46:04 +08:00
Nikolay Kim 98bdf63a4d use const_fn for type size and offset calculation 2017-07-21 09:48:48 -07:00
Nikolay Kim 2ee6419464 do not catch rust panics 2017-07-20 14:21:57 -07:00
Nikolay Kim 5f1a410d6e more cleanups 2017-07-20 09:11:28 -07:00
Nikolay Kim 0756e341a8 cleanup PyModule 2017-07-20 08:33:30 -07:00
Nikolay Kim a00ae1757c add PyDict keys,values,items methods 2017-07-20 08:23:43 -07:00
Nikolay Kim 97c6b7591a added PyList::append method, added refcnt tests 2017-07-20 08:05:12 -07:00
Nikolay Kim e23c7247e6 fix memory leak in PyList::set_item and insert_item 2017-07-19 22:22:19 -07:00
Nikolay Kim 1035aaae49 fix python2 related code 2017-07-19 13:22:26 -07:00
Nikolay Kim 13820f4ce3 added PyTuple::slice and PyTuple::split_from methods 2017-07-19 13:04:58 -07:00
Nikolay Kim f344c4ce3d added try downcast methods to PyDowncastFrom trait 2017-07-19 13:01:59 -07:00
Nikolay Kim 9cecfc0ec9 fix fn names 2017-07-19 09:27:19 -07:00
Nikolay Kim 63baa575a6 fix memory leak in call and call_method 2017-07-19 09:22:54 -07:00
Nikolay Kim 5559dbb9ed fix memory leak 2017-07-19 06:35:59 -07:00
Nikolay Kim c6067b90c1 more docs 2017-07-18 14:15:44 -07:00
Nikolay Kim 01d688fc98 use better name for Pointers 2017-07-18 11:12:35 -07:00
Nikolay Kim fc1df289bd drop PyClone trait; doc cleanups 2017-07-18 10:13:50 -07:00
messense dd29dbce80 Use std::ptr::null() and std::ptr::null_mut() (#51) 2017-07-18 23:23:21 +08:00
messense 5a8fd2febc
Some more clippy warning fixes
[rustfix](https://github.com/killercup/rustfix) makes it much easier.
2017-07-18 22:10:56 +08:00
messense e69163344a Fix some clippy warnings (#49) 2017-07-18 19:28:49 +08:00
Nikolay Kim 2d06b07717 fix PyNumberProtocol methods #48 2017-07-17 16:49:19 -07:00
Nikolay Kim 149aa3a0eb always inline all py() 2017-07-14 16:21:18 -07:00
Nikolay Kim 292bd2c139 inline py() call 2017-07-14 14:21:07 -07:00
Nikolay Kim 4daac50781 remove associated_consts feature 2017-07-14 03:17:57 -07:00
Nikolay Kim c5f5620f77 rename token() to py() 2017-07-13 19:04:00 -07:00
Nikolay Kim fb8b32072f add basic args test 2017-07-13 18:50:34 -07:00
Nikolay Kim 8eb5dc0667 use associated consts 2017-07-13 16:45:50 -07:00
Nikolay Kim ed31492d36 rename pointer mod to object 2017-07-13 13:05:50 -07:00
Nikolay Kim 27f8747ba6 safe typeob dealloc and tests for release pools 2017-07-13 13:01:31 -07:00
Nikolay Kim 49de1f1d40 cleanup cb_unary and gc protcol 2017-07-10 00:40:30 +06:00
Nikolay Kim ce05cb91c0 fix pointer release list 2017-07-10 00:37:20 +06:00
Nikolay Kim c1c4648add delay decref until gil available 2017-07-09 12:08:57 +06:00
Nikolay Kim a90d8c241f fix ref counter for get_kwargs 2017-07-04 10:24:04 +06:00
Nikolay Kim 3028dcf58f fix error from instancel fixed bool 2017-06-30 08:51:45 +06:00
Nikolay Kim afe2324ecc fix api inconsystency 2017-06-29 11:23:55 +06:00
Nikolay Kim 8bc1195f12 Merge branch 'master' of github.com:PyO3/PyO3 2017-06-27 05:06:09 +06:00
Nikolay Kim 503e4221cc support &str as fn param 2017-06-24 15:28:53 -07:00
Nikolay Kim 082db89aa6 do not modify ref counter for borrowed ptr 2017-06-24 12:57:18 -07:00
messense 2d217be349
Use isize for hash protocol 2017-06-24 23:43:01 +08:00
Nikolay Kim 3a2004eab2 rename PyInstance to PyObjectRef 2017-06-24 08:28:31 -07:00
messense 4e836cb229
Don't reexport Py_hash_t and Py_ssize_t 2017-06-24 22:36:45 +08:00
messense 378fae9659
Hide argparse module in API docs 2017-06-24 22:30:46 +08:00
messense a5e3429d60
Remove unnecessary ObjectProtocol import 2017-06-24 22:29:35 +08:00
messense 0ba541e762
Add missing module level docs 2017-06-24 16:47:36 +08:00
messense 84ebdbcfe9
Add copyright headers to some files 2017-06-24 16:36:51 +08:00
Nikolay Kim d80eee6fba move IterNextResultConverter to proper location 2017-06-23 16:37:31 -07:00
Nikolay Kim 352774744a use StopAsyncIteration for __anext__ #35 2017-06-23 16:11:50 -07:00
Nikolay Kim 64f120a8f7 review system exceptions 2017-06-23 16:00:44 -07:00
Nikolay Kim 14c6aaad55 py.init returns ptr, init_ref and init_mut ref and mut ref 2017-06-23 15:15:07 -07:00