Commit Graph

135 Commits

Author SHA1 Message Date
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
Wolfgang Bumiller
726fa9b484 bump perlmod-macro to 0.3.2-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-30 09:48:00 +02:00
Wolfgang Bumiller
aa13c5c85b macro: add newlines to errors
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-30 08:14:54 +02:00
Wolfgang Bumiller
36bbf1d1a1 bump verstion to 0.5.1-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-23 10:59:34 +02:00
Wolfgang Bumiller
fa780264ca update test files
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-23 10:58:31 +02:00
Wolfgang Bumiller
fbf0c7a20b fix newtype struct deserialization
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-23 10:58:21 +02:00
Wolfgang Bumiller
0daaa90cf6 bump version to 0.5.0-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-21 12:40:56 +02:00
Wolfgang Bumiller
b5c53f3d37 improve PVLV handling
For the cases we're most intested in (substr and vivifyable
hash indexing) we can use perform "GET" magic to figure out
whether it was undef or not, and then simply recurse.
We'll have to deal with other cases as we run into them.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-10 10:14:04 +02:00
Wolfgang Bumiller
61143f5d12 experimental PVLV support
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-06-08 11:28:01 +02:00
Wolfgang Bumiller
ec6f42c37e bump perlmod to 0.4.3-1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-03-09 15:36:52 +01:00