1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! libperl-rs — safe Rust API on top of libperl-sys / libperl-macrogen.
//!
//! Re-exports everything from `libperl-sys` at the crate root so that
//! consumers can write `libperl_rs::Perl_sv_setiv(...)` and
//! `libperl_rs::PL_main_start!(my_perl)` uniformly. The old prototype API
//! lives on as the `libperl-proto0` workspace member; see
//! `docs/plan/README.md` for the rebuild plan.
pub use *;
pub use *;
/// `thx_call!(perl, Perl_xxx, args...)` — call a libperl-sys function
/// that takes a leading `my_perl` parameter in threaded builds and
/// drops that parameter in non-threaded builds. The first argument
/// (`perl: &Perl`) is silently discarded in non-threaded mode.
///
/// Centralising this here keeps the hand-written `Sv`/`Av`/`Hv`
/// constructors free of `#[cfg(perl_useithreads)]` clutter — same
/// abstraction the `#[xs_sub]` proc-macro applies internally via
/// `myperl_arg_prefix`.
pub use thx_call;
pub use *;
pub use *;
pub use *;
pub use *;
pub use *;