Commit Graph

196 Commits

Author SHA1 Message Date
konstin 0cd72ac213 Bump to 0.6.0-alpha.4 2019-02-20 11:30:09 +01:00
konstin d02f7c3aa5 Big proc macro refactoring
* Removed a lot of clutter, unified some code
 * Started using syn::parse::Parse for pyfunction attributes 
 * No more newlines between imports
 * Renamed `#[prop(get, set)]` to `#[pyo3(get, set)]`
 * `#[pyfunction]` now supports the same arguments as `#[pyfn()]`
 * Some macros now emit proper spanned errors instead of panics.
2019-02-18 20:07:56 +01:00
konstin 936f0153e8 Migrate to rust 2018 2019-02-01 14:23:29 +01:00
konstin 0deaee01ad Bump to 0.6.0-alpha.1 and update changelog from 0.5.3 2019-01-04 11:53:46 +01:00
konstin 89872dceb9 Replace deprecated methods 2018-12-15 14:15:43 +01:00
konstin 9102f2e364 Refactor the exception macros
* Renamed `py_exception` to `create_exception`
  * The split up of the macros makes it possible to create exception structs with bodies to mimic python exceptions' members
  * Used `Once` to fix a (theoretical) race condition with the is_null check
2018-11-27 23:07:15 +01:00
konstin 13d4d66fdb cargo fmt 2018-11-15 21:58:22 +01:00
konstin 9c8c5a6063 Rename #[pymodinit] to #[pymodule] 2018-11-15 19:43:29 +01:00
konstin cadd0fb50e Release 0.5.0 2018-11-11 12:26:43 +01:00
konstin 234e2c6998 Release 0.5.0-alpha.3 to fix #256 2018-11-02 16:34:40 +01:00
konstin 3b63cc9178 v0.5.0-alpha.2 2018-10-29 17:36:06 +01:00
konstin 3a95d163ca New rustfmt version
You might need to upgrade to the latest nightly to get the same results
2018-09-28 23:34:57 +02:00
konstin f9bca1aebe Prerelease 0.5.0-alpha.1 #223 2018-09-17 22:51:58 +02:00
konstin 0372360811 Add test for #219 2018-09-17 19:47:23 +02:00
konstin d638a51971 A bit more debug info on failed build scripts 2018-09-09 18:14:14 +02:00
konstin d92e522243 Syn 0.15 2018-09-09 00:20:04 +02:00
konstin 4c1ff24b2b Fix raw identifiers 2018-09-03 20:50:18 +02:00
konstin a5ab5661a2 Upgrade to syn 0.15-rc 2018-09-02 23:13:35 +02:00
konstin a2af5fe71d Advertise pyo3-pack a bit more 2018-08-30 23:20:04 +02:00
konstin 9cadbd11de v0.4.1 2018-08-20 14:34:34 +02:00
konstin d0ed68414a Many small improvements 2018-08-04 19:56:59 +02:00
konstin b7dc0ad695 v0.4.0 2018-07-30 23:10:50 +02:00
konstin fe8a719ee1 Rustfmt all the things ✔️ 2018-07-30 23:05:10 +02:00
kngwyu 686d006bea Specify proc-macro2 version
Since we can't compile 0.4.8 in current nightly.
See
9f0a28a9c9
for upstream change.
2018-07-24 17:17:11 +09:00
konstin 2627fa8a08 0.3.2 2018-07-22 21:36:18 +02:00
konstin 3248927db2 Bump versions in the Cargo.toml files
One day I'll get the order right
2018-07-18 14:11:24 +02:00
konstin d59bebcc38 Upgrade from proc_macro to use_extern_macros 2018-07-18 13:08:05 +02:00
konstin fe931a594f #[pymodinit] now uses the function name as default module name 2018-07-10 00:13:02 +02:00
konstin f6224ca0bc Prepare for 0.3.0 release 2018-07-08 23:41:18 +02:00
konstin 4013d40897 Add `py` prefix to the proc macros and move them into the root module
This is important because `proc_macro_path_invoc` isn't going to be stabilized soon.
2018-07-08 23:33:48 +02:00
konstin 1201587353 Remove some old-syn clutter 2018-07-04 19:07:27 +02:00
konstin bc412ede8f Format pyo3cls and pyo3-derive-backend 2018-07-03 22:28:40 +02:00
konstin 1e31fc4451 Remove even more clutter 2018-07-03 21:11:56 +02:00
konstin fd6ab73924 Upgrade to syn 0.14: Useful error messages 🎉 2018-06-15 22:41:16 +02:00
Peng Guanwen ce4c217527 Fix broken links
This fixes #182
2018-06-14 08:10:39 +00:00
konstin c9db4f0da2 Some cleanup and housekeeping 2018-05-30 15:03:31 +02:00
konstin 314a4a2b3e Some more documentation work 2018-05-19 17:27:26 +02:00
Martin Larralde 01b7b3feeb Fix link to organisation page in `Cargo.toml` manifests [ci skip] 2018-05-14 18:53:37 +02:00
Martin Larralde 580e50f727 Make `build_py_proto` and `build_py_methods` only accept `ImplItem` 2018-05-14 13:34:36 +02:00
Martin Larralde 4414d684e4 Tidy up `pyo3cls/src/lib.rs` 2018-05-14 01:14:50 +02:00
Martin Larralde d1d0dddb48 Improve error messages in `pyo3cls` 2018-05-14 01:01:23 +02:00
Martin Larralde d07c538779 Port `pyo3cls` to latest `syn` 2018-05-14 00:49:15 +02:00
Martin Larralde b43b481980 Merge #154 and #155 changed with `syn13` 2018-05-13 21:24:40 +02:00
konstin 858a124374 Merge master 2018-05-05 15:50:04 +02:00
konstin 15204bab56 Better way to add functions to modules 2018-05-02 19:26:54 +02:00
konstin 0880ac166c Merge master 2018-05-01 20:41:35 +02:00
konstin 5a8f5034d6 Fix make test
This is a follow-up to #147
2018-05-01 20:15:43 +02:00
konstin d0c42dfcc1 Fix compilation on nightly 2018-05-01 15:44:38 +02:00
konstin 6113428746 Allow defining functions outside of the module declarations
This commit consists of
 * a proc macro to convert rust functions into python functions (`#[function]`),
 * a macro to register a function in a module (`add_function_to_module!`)
 * Documenting both the old and the new way in the book
2018-04-30 23:17:09 +02:00
konstin e570c6b9b9 Move the codegen into its own crate
This makes the code generatioin reusable from third party crates.
2018-04-05 13:39:07 +02:00