1#![deny(
2 clippy::expect_used,
3 clippy::explicit_deref_methods,
4 clippy::option_if_let_else,
5 clippy::await_holding_lock,
6 clippy::cloned_instead_of_copied,
7 clippy::explicit_into_iter_loop,
8 clippy::flat_map_option,
9 clippy::fn_params_excessive_bools,
10 clippy::implicit_clone,
11 clippy::inefficient_to_string,
12 clippy::large_types_passed_by_value,
13 clippy::manual_ok_or,
14 clippy::map_flatten,
15 clippy::map_unwrap_or,
16 clippy::must_use_candidate,
17 clippy::needless_for_each,
18 clippy::needless_pass_by_value,
19 clippy::option_option,
20 clippy::redundant_else,
21 clippy::semicolon_if_nothing_returned,
22 clippy::too_many_lines,
23 clippy::trivially_copy_pass_by_ref,
24 clippy::unnested_or_patterns,
25 clippy::future_not_send,
26 clippy::useless_let_if_seq,
27 clippy::str_to_string,
28 clippy::inherent_to_string,
29 clippy::let_and_return,
30 clippy::string_to_string,
31 clippy::try_err,
32 clippy::unused_async,
33 clippy::missing_enforced_import_renames,
34 clippy::nonstandard_macro_braces,
35 clippy::rc_mutex,
36 clippy::unwrap_or_default,
37 clippy::manual_split_once,
38 clippy::derivable_impls,
39 clippy::needless_option_as_deref,
40 clippy::iter_not_returning_iterator,
41 clippy::same_name_method,
42 clippy::manual_assert,
43 clippy::non_send_fields_in_send_ty,
44 clippy::equatable_if_let,
45 bad_style,
46 clashing_extern_declarations,
47 dead_code,
48 deprecated,
49 explicit_outlives_requirements,
50 improper_ctypes,
51 invalid_value,
52 missing_copy_implementations,
53 missing_debug_implementations,
54 mutable_transmutes,
55 no_mangle_generic_items,
56 non_shorthand_field_patterns,
57 overflowing_literals,
58 path_statements,
59 patterns_in_fns_without_body,
60 private_interfaces,
61 private_bounds,
62 renamed_and_removed_lints,
63 trivial_bounds,
64 trivial_casts,
65 trivial_numeric_casts,
66 type_alias_bounds,
67 unconditional_recursion,
68 unreachable_pub,
69 unsafe_code,
70 unstable_features,
71 unused,
72 unused_allocation,
73 unused_comparisons,
74 unused_import_braces,
75 unused_parens,
76 unused_qualifications,
77 while_true,
78 missing_docs
79)]
80#![doc = include_str!("../README.md")]
81#![cfg_attr(docsrs, feature(doc_cfg))]
82
83mod callbacks;
84#[cfg(feature = "async")]
85mod callbacks_async;
86#[cfg(feature = "wasi")]
87mod wasi;
88
89mod provider;
90pub use provider::{WasmtimeEngineProvider, WasmtimeEngineProviderPre};
91
92#[cfg(feature = "async")]
93mod provider_async;
94#[cfg(feature = "async")]
95#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
96pub use provider_async::{WasmtimeEngineProviderAsync, WasmtimeEngineProviderAsyncPre};
97
98mod store;
99
100#[cfg(feature = "async")]
101mod store_async;
102
103pub mod errors;
104
105mod builder;
106pub use builder::WasmtimeEngineProviderBuilder;
107
108pub use wasmtime;
111#[cfg(feature = "wasi")]
112#[cfg_attr(docsrs, doc(cfg(feature = "wasi")))]
113pub use wasmtime_wasi;
114
115#[derive(Clone, Copy, Debug)]
123struct EpochDeadlines {
124 wapc_init: u64,
126
127 wapc_func: u64,
129}