Daniel Grunwald
3826b54a30
py_class!: Add support for class methods.
2016-03-16 22:18:48 +01:00
Daniel Grunwald
f89f957dd4
Add support for @staticmethod.
2016-03-16 21:49:45 +01:00
Daniel Grunwald
80a4ad1466
Fix bug in py_class! when declaring an instance method with parameter list
2016-03-16 21:36:18 +01:00
Daniel Grunwald
867666cb2b
py_class! can't be nested within a function on stable rust
2016-03-12 20:32:19 +01:00
Daniel Grunwald
e608d5eabe
Fix build with stable Rust.
2016-03-12 20:20:41 +01:00
Daniel Grunwald
b43fa55e01
Delete old 'rustobject' code
2016-03-12 19:09:10 +01:00
Daniel Grunwald
337a90c2fb
Reserve special method names
...
Some of these might work via the normal "instance method" functionality,
but we'll need testcases to be sure.
2016-03-12 19:08:51 +01:00
Daniel Grunwald
0bd9e3ebd2
Adjust extension test cases.
2016-03-12 18:14:21 +01:00
Daniel Grunwald
cc81a01077
py_class!: add support for instance methods
2016-03-12 17:58:50 +01:00
Daniel Grunwald
ab83b4f4a1
#14 ; Convert Rust panic to Python SystemError
2016-03-12 01:31:06 +01:00
Daniel Grunwald
309182cfe8
py_class!: Add support for "def __new__(cls)".
2016-03-12 00:06:39 +01:00
Daniel Grunwald
547879ef0f
Remove rustobject (PyRustObject, TypeBuilder).
...
Add new py_class!() macro that generates a static type.
2016-03-09 01:07:50 +01:00
Daniel Grunwald
9b278ba56b
Implement second form of py_fn!() (inline function definition)
2016-03-07 23:48:44 +01:00
Daniel Grunwald
3af6e17841
WIP: big macro refactoring
...
* Introduce py_argparse_parse_plist!() to allow a more flexible
param list syntax.
* py_fn!() syntax changed
* Remove py_method!() / py_class_method!() macros.
These are of limited use when building dynamic types,
and not useful for py_class!() static types.
2016-03-07 23:22:44 +01:00
Daniel Grunwald
be682d848f
WIP: generalize py_argparse!() macro
2016-03-06 13:33:57 +01:00
Daniel Grunwald
162e20d9e4
Fix build with rust-stable: we can't mark functions as public if we
...
nest the impl block in fn init().
2016-03-06 11:02:48 +01:00
Daniel Grunwald
96ee652737
TypeBuilder: take &mut self instead of by-value self
...
py_class!() now can be used to define simple types.
2016-03-06 10:29:28 +01:00
Daniel Grunwald
061e46bde8
Rename PyRustTypeBuilder -> TypeBuilder
2016-03-06 06:33:16 +01:00
Daniel Grunwald
acc5712536
Don't flatten the rustobject module + started implementing the py_class!() macro.
2016-03-06 06:29:43 +01:00
Daniel Grunwald
506443210a
Fix stable rust version in travis config
2016-03-06 01:11:35 +01:00
Daniel Grunwald
d705620502
Add support for Rust stable.
...
All functions that depend on PyObject having the same memory layout
as *mut ffi::PyObject should now be hidden behind #[cfg(feature="nightly")].
2016-03-06 01:08:40 +01:00
Daniel Grunwald
ad7f43efc7
Remove #![feature(optin_builtin_traits)] usage
2016-03-06 00:22:16 +01:00
Daniel Grunwald
7c90651157
Make use of nightly const_fn + shared features optional.
2016-03-06 00:03:17 +01:00
Daniel Grunwald
53353d374b
Remove dependency on interpolate_idents.
...
We now use the generic <DUMMY> hack to avoid duplicate extern "C" symbols.
See rust-lang/rust#26201 .
py_module_initializer!() calls now need to manually concatenate the module
name with the prefixes "init" and "PyInit_".
2016-03-05 23:20:53 +01:00
Daniel Grunwald
a1654d5d65
cpython 0.0.5
2016-03-05 17:51:55 +01:00
Daniel Grunwald
a4f946096c
Add back accidentally removed #[macro_use]
2016-03-05 17:44:30 +01:00
Daniel Grunwald
067f262876
Some documentation updates
2016-03-05 17:41:04 +01:00
Daniel Grunwald
ba325b10d4
python27-sys 0.1.1 and python3-sys 0.1.2 release
2016-03-05 17:40:41 +01:00
Daniel Grunwald
5223cf4730
Fix build
2016-03-05 15:57:48 +01:00
Daniel Grunwald
e5f77018f1
Allow using py_fn!() as argument to PyRustTypeBuilder::set_new()
2016-03-05 15:16:11 +01:00
Daniel Grunwald
d22fbb31ce
Refactor py_fn / py_method / py_class_method macros
2016-03-05 15:05:41 +01:00
Daniel Grunwald
c01a1e8306
Use std::ptr::Shared in PyObject to enable the null pointer optimization.
2016-03-05 02:01:03 +01:00
Daniel Grunwald
b617af7c5b
Add PyTypeBuilder::set_new().
2016-03-05 01:16:54 +01:00
Daniel Grunwald
249be0da3a
Use #[cfg] on expressions to avoid some code duplication
2016-03-05 00:13:38 +01:00
Daniel Grunwald
1633e24127
Adjust check_symbols.py to changed rustc -Z ast-json output.
2016-03-04 22:21:15 +01:00
Daniel Grunwald
109c704ad7
Fix "reexport of private crate" warning.
2016-03-04 21:35:52 +01:00
Daniel Grunwald
8c398a66cf
Merge pull request #37 from millerjs/master
...
remove duplicate word in docstring
2016-01-29 19:25:35 +01:00
Joshua Miller
7092bd4362
remove duplicate word in docstring
2016-01-28 21:13:39 -06:00
Daniel Grunwald
54aa17abf9
Enable testing with Python 3.5
2016-01-22 20:42:34 +01:00
Daniel Grunwald
7269dc64c2
python*-sys: use #![no_std]
2016-01-22 20:38:34 +01:00
Daniel Grunwald
67282d2e23
Merge pull request #35 from mneumann/fix_doc
...
Correct the example in README.md
2015-12-31 16:17:18 +01:00
Michael Neumann
bab907b0be
Correct the example in README.md
2015-12-31 12:43:03 +01:00
Daniel Grunwald
168a060f4b
Make PreparedString public.
2015-12-20 13:59:03 +01:00
Daniel Grunwald
e8a69d9431
Remove unused pkg_config dependency from python27-sys
2015-12-20 13:57:26 +01:00
Daniel Grunwald
049bcb3278
libsyntax changed yet again
2015-11-15 18:54:45 +01:00
Daniel Grunwald
a133bc5c33
appveyor: fix install script
2015-11-12 00:10:56 +01:00
Daniel Grunwald
4f6e674499
appveyor: use .msi instead of .tar.gz for installing rust so that we get rustc, std and cargo all in one package
2015-11-12 00:09:00 +01:00
Daniel Grunwald
669cc56275
Let's see if a path dependency fixes #34 .
2015-11-11 23:40:31 +01:00
Daniel Grunwald
56eb23ccbe
Use interpolate_idents 0.0.5
2015-11-11 23:40:05 +01:00
Daniel Grunwald
a19b186bb4
Fix git URL in readme
2015-11-07 17:19:46 +01:00