#![no_std]
#![warn(clippy::pedantic, clippy::nursery)]
#![warn(
clippy::suspicious,
clippy::style,
clippy::complexity,
clippy::perf,
clippy::correctness
)]
#![warn(
clippy::unseparated_literal_suffix,
clippy::unreachable,
clippy::unneeded_field_pattern,
clippy::unnecessary_self_imports,
clippy::unimplemented,
clippy::try_err,
clippy::todo,
clippy::tests_outside_test_module,
clippy::suspicious_xor_used_as_pow,
clippy::string_slice,
clippy::string_lit_chars_any,
clippy::string_add,
clippy::shadow_unrelated,
clippy::rest_pat_in_fully_bound_structs,
clippy::renamed_function_params,
clippy::ref_patterns,
clippy::rc_mutex,
clippy::rc_buffer,
clippy::print_stdout,
clippy::print_stderr,
clippy::mutex_atomic,
clippy::map_with_unused_argument_over_ranges,
clippy::lossy_float_literal,
clippy::integer_division,
clippy::if_then_some_else_none,
clippy::format_push_string,
clippy::float_cmp_const,
clippy::empty_enum_variants_with_brackets,
clippy::else_if_without_else
)]
#![allow(
clippy::module_name_repetitions,
// OCPP action/result dispatch is inherently large match tables.
clippy::too_many_lines,
// CALL/SEND payload sizes vary widely by message; boxing would change the public API.
clippy::large_enum_variant,
// Some OCPP datatypes expose more than three booleans by schema.
clippy::struct_excessive_bools,
// Adjacent `CallResult<T>` arms share bodies but cannot use `|` across different `T`.
clippy::match_same_arms,
// Library Cargo.lock is gitignored; serde_tuple/serde may pull syn 2+3 together.
clippy::multiple_crate_versions
)]
#![deny(
clippy::unwrap_used,
clippy::undocumented_unsafe_blocks,
clippy::expect_used,
clippy::panic_in_result_fn,
clippy::unwrap_in_result,
clippy::unused_result_ok,
clippy::panic,
clippy::get_unwrap,
clippy::std_instead_of_core,
clippy::std_instead_of_alloc,
unused_must_use
)]
#![recursion_limit = "256"]
extern crate alloc;
pub mod datetime;
pub mod errors;
pub mod v16;
pub mod v21;
pub mod validate;