Commit Graph

244 Commits

Author SHA1 Message Date
Wolfgang Bumiller
d6b0097481 macro: fix missing parameter name in error message
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-24 11:57:36 +01:00
Wolfgang Bumiller
0202cffe88 Update the 1.0 todo list
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-24 09:32:12 +01:00
Wolfgang Bumiller
1f483df2dd README.md update
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-17 13:10:32 +01:00
Wolfgang Bumiller
78e2b8b233 bump perlmod to 0.8.2-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-05 10:16:44 +01:00
Wolfgang Bumiller
8932eaeb6b test enum serialization
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-05 10:14:26 +01:00
Wolfgang Bumiller
96f5ad7534 perlmod: add enum deserialization support
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-05 10:14:09 +01:00
Wolfgang Bumiller
2089f78cbe perlmod: doc fixup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-03 13:06:13 +01:00
Wolfgang Bumiller
fa8cf13497 bump perlmod to 0.8.1-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-02 14:32:41 +01:00
Wolfgang Bumiller
ce25d8eb26 perlmod: add as_array/as_object + mut to Value
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-11-02 14:31:37 +01:00
Wolfgang Bumiller
5be6fc8362 bump perlmod-macro to 0.5.0-1 and perlmod to 0.8.0-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-28 09:22:39 +02:00
Wolfgang Bumiller
1e46bfbe81 perlmod: magically call Drop handlers
magic classes now don't need to manually implement DESTROY
anymore

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-28 09:01:32 +02:00
Wolfgang Bumiller
4632042632 perlmod, macro: detect perl's MULTIPLICITY flag
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 15:41:51 +02:00
Wolfgang Bumiller
4a0e18d9b3 calling convention 'fixup'
if we ever want to support mgvtbl methods we may need to add
support for detecting the pTHX_ parameter into our build.rs
scripts

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 13:47:58 +02:00
Wolfgang Bumiller
3464d8b054 more documentation
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 13:17:51 +02:00
Wolfgang Bumiller
1521415be3 magic tests
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 12:57:05 +02:00
Wolfgang Bumiller
69ebfc54a3 add instantiate_magic convenience macro
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 12:57:05 +02:00
Wolfgang Bumiller
083e82368d implement some crude magic helpers
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 12:57:05 +02:00
Wolfgang Bumiller
6f26c2da30 perlmod: add magic ffi and glue
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 12:57:05 +02:00
Wolfgang Bumiller
62f3c1eb74 add a comment noting an API cleanup todo
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 11:38:08 +02:00
Wolfgang Bumiller
fb26412b42 Value: add AsRef/AsMut<ScalarRef>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 11:38:08 +02:00
Wolfgang Bumiller
041e791032 add Value::new_hash for convenience
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-27 11:38:08 +02:00
Wolfgang Bumiller
35762913de bump perlmod to 0.7.2 and perlmod-macro to 0.4.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-25 10:16:21 +02:00
Wolfgang Bumiller
83f19b9599 macro: implement bootstrap function in rust
with this, the generated .pm files don't contain any
exports anymore

when implementing a `perlmod-bindgen` utility to generate
.pm files, we can now also deprecate the `lib =` module
attribute on the `package` proc macro

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-21 11:28:29 +02:00
Wolfgang Bumiller
ebe0ba6487 bump perlmod version to 0.7.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-19 10:33:36 +02:00
Wolfgang Bumiller
d1743af5d8 update docs and let the bless test use Value::bless_box
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-19 10:32:51 +02:00
Wolfgang Bumiller
81354c3960 perlmod: add Value::bless_box
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-19 10:32:51 +02:00
Wolfgang Bumiller
449d746871 perlmod-macro: improve error handling
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-15 09:52:58 +02:00
Wolfgang Bumiller
f888c202cc perlmod-macro: drop anyhow dependency
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-15 09:45:57 +02:00
Wolfgang Bumiller
d253472380 perlmod: drop derive requirement on serde
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-15 09:37:24 +02:00
Wolfgang Bumiller
55f3db4827 drop thiserror
not worth it right now

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-15 09:34:31 +02:00
Wolfgang Bumiller
2e5e60c479 drop rust-toolchain file
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-15 09:31:11 +02:00
Wolfgang Bumiller
81da219db5 bump perlmod to 0.7.0-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-14 15:26:02 +02:00
Wolfgang Bumiller
f3f92edcd2 prevent creating ScalarRef values manually
it is dangerous as it should only exist as a valid reference

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-14 15:24:20 +02:00
Wolfgang Bumiller
b8ef338c1c bump perlmod-macro to 0.4.0 and perlmod to 0.6.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-14 15:14:00 +02:00
Wolfgang Bumiller
b2ad024751 add README.md
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-14 15:14:00 +02:00
Wolfgang Bumiller
6ccbcbec1a add reference deserialization test data
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-14 15:13:48 +02:00
Wolfgang Bumiller
245de6dd67 add RawValue and raw value serialization
perl Values are now generally serialized as *raw* values,
for *de*serialization this can be enforced via the RawValue
type

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-14 15:01:17 +02:00
Wolfgang Bumiller
4fe09940a7 make values Clone
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-14 13:43:38 +02:00
Wolfgang Bumiller
814014b874 macro: support env vars in package attributes
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-13 12:52:02 +02:00
Wolfgang Bumiller
9de065545b macro: use CARGO_PKG_NAME instead of reading Cargo.toml
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-10-13 11:28:16 +02:00
Wolfgang Bumiller
c9d79aaea8 bump version to 0.5.3-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-19 10:33:35 +02:00
Wolfgang Bumiller
0864428bd6 test: set autoflush for consistency
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-19 09:37:09 +02:00
Wolfgang Bumiller
9acdb78242 add is_defined helper glue
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-19 09:34:32 +02:00
Fabian Ebner
93eaead22a test for broken undef detection
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-19 09:02:59 +02:00
Wolfgang Bumiller
4c9f6c51d7 macro: different approach to clippy warning
currently this does in fact deduplicate code, so...

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-02 11:54:33 +02:00
Wolfgang Bumiller
ab3923dc66 bump perlmod to 0.5.2-2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-02 11:42:17 +02:00
Wolfgang Bumiller
3d5b075bdc perlmod: clippy fixes
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-02 11:39:46 +02:00
Wolfgang Bumiller
a2a884c13d macro: clippy fixes
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-02 11:37:51 +02:00
Wolfgang Bumiller
83ac604e08 test updates
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-02 11:33:05 +02:00
Wolfgang Bumiller
3f7917309b set utf8 flag as needed when serializing strings
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-02 11:31:51 +02:00