diff --git a/Cargo.toml b/Cargo.toml index 43a5cf8..8941ab5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,8 +14,8 @@ resolver = "2" version = "0.3.0" [dependencies] -anymap = "1.0.0-beta.2" bonsaidb = "0.5.0" +erased_set = "0.7.0" getrandom = {version = "0.2.6", features = ["std"]} serde = {version = "1.0.137", features = ["derive"]} serde_json = "1.0.81" @@ -61,3 +61,94 @@ test = true name = "context" path = "examples/context.rs" test = true + + +[lints.rust] +dead_code = "warn" +missing_debug_implementations = "warn" +missing_docs = "warn" +trivial_casts = "warn" +trivial_numeric_casts = "warn" +unused_extern_crates = "warn" +unused_import_braces = "warn" +unused_qualifications = "warn" + +[lints.clippy] +tabs_in_doc_comments = "allow" +branches_sharing_code = "warn" +cast_lossless = "warn" +cast_possible_wrap = "warn" +checked_conversions = "warn" +cloned_instead_of_copied = "warn" +create_dir = "warn" +dbg_macro = "warn" +default_trait_access = "warn" +expect_used = "warn" +expl_impl_clone_on_copy = "warn" +fallible_impl_from = "warn" +filetype_is_file = "warn" +filter_map_next = "warn" +flat_map_option = "warn" +float_cmp = "warn" +fn_params_excessive_bools = "warn" +fn_to_numeric_cast_any = "warn" +future_not_send = "warn" +if_then_some_else_none = "warn" +implicit_clone = "warn" +implicit_hasher = "warn" +implicit_saturating_sub = "warn" +imprecise_flops = "warn" +inefficient_to_string = "warn" +items_after_statements = "warn" +iter_not_returning_iterator = "warn" +large_digit_groups = "warn" +large_stack_arrays = "warn" +large_types_passed_by_value = "warn" +lossy_float_literal = "warn" +macro_use_imports = "warn" +manual_let_else = "warn" +manual_ok_or = "warn" +many_single_char_names = "warn" +map_unwrap_or = "warn" +mem_forget = "warn" +#missing_const_for_fn = "warn" +missing_docs_in_private_items = "warn" +must_use_candidate = "warn" +mut_mut = "warn" +mutex_atomic = "warn" +needless_bitwise_bool = "warn" +non_send_fields_in_send_ty = "warn" +option_option = "warn" +path_buf_push_overwrite = "warn" +print_stderr = "warn" +print_stdout = "warn" +ptr_as_ptr = "warn" +range_minus_one = "warn" +range_plus_one = "warn" +rc_buffer = "warn" +rc_mutex = "warn" +redundant_closure_for_method_calls = "warn" +ref_binding_to_reference = "warn" +ref_option_ref = "warn" +return_self_not_must_use = "warn" +same_functions_in_if_condition = "warn" +same_name_method = "warn" +semicolon_if_nothing_returned = "warn" +str_to_string = "warn" +string_to_string = "warn" +suboptimal_flops = "warn" +suspicious_operation_groupings = "warn" +too_many_lines = "warn" +trait_duplication_in_bounds = "warn" +trivially_copy_pass_by_ref = "warn" +type_repetition_in_bounds = "warn" +undocumented_unsafe_blocks = "warn" +unnested_or_patterns = "warn" +unreadable_literal = "warn" +unseparated_literal_suffix = "warn" +unused_async = "warn" +unused_self = "warn" +unwrap_used = "warn" +used_underscore_binding = "warn" +useless_let_if_seq = "warn" +verbose_file_reads = "warn" diff --git a/src/runner.rs b/src/runner.rs index ebfd06c..195f448 100644 --- a/src/runner.rs +++ b/src/runner.rs @@ -3,7 +3,6 @@ use std::{fmt::Debug, sync::Arc, time::Duration}; -use anymap::CloneAny; use bonsaidb::core::{ async_trait::async_trait, connection::AsyncConnection, @@ -23,7 +22,7 @@ use crate::{ /// Error handler dynamic function type. type ErrorHandler = Arc) + Send + Sync>; /// Type map for saving the runner-context. -type Context = anymap::Map; +type Context = erased_set::ErasedSyncSet; /// Job Runner. This is the job execution system to be run in the background. It /// runs on the specified database and using a specific job registry. It also @@ -43,7 +42,7 @@ where { /// Create a new job runner on this database. pub fn new(db: DB) -> Self { - Self { db, error_handler: None, context: anymap::Map::new() } + Self { db, error_handler: None, context: Context::new() } } /// Set the error handler callback to be called when jobs return an error.