]> git.proxmox.com Git - perlmod.git/blob - perlmod-test/src/pkg142.rs
test updates
[perlmod.git] / perlmod-test / src / pkg142.rs
1 use serde::{Deserialize, Serialize};
2
3 #[derive(Debug, Deserialize, Serialize)]
4 pub struct Blubber(String);
5
6 #[perlmod::package(name = "RSPM::Foo142", lib = "perlmod_test")]
7 mod export {
8 use anyhow::{bail, Error};
9
10 #[export]
11 fn foo142(a: u32, b: u32) -> Result<u32, Error> {
12 if a == 42 {
13 bail!("dying on magic number");
14 }
15
16 Ok(a + b)
17 }
18
19 #[export]
20 fn test(t: Option<String>) -> Result<(), Error> {
21 println!("test called with {:?}", t);
22 Ok(())
23 }
24
25 #[export]
26 fn teststr(t: Option<&str>) -> Result<(), Error> {
27 println!("teststr called with {:?}", t);
28 Ok(())
29 }
30
31 #[export]
32 fn test_serde(value: super::Blubber) -> Result<String, Error> {
33 println!("got {:?}", value);
34 Ok(value.0)
35 }
36 }