[package]
name = "seekable-iterator"
authors = ["Finley Huggins"]
description = "Traits for iterators and lending iterators with seeking capabilities"
readme = "README.md"
keywords = ["seek", "iter", "cursor", "lending", "pool"]
categories = ["rust-patterns", "no-std", "no-std::no-alloc"]
include = ["Cargo.toml", "src/**/*.rs", "LICENSE-APACHE", "LICENSE-MIT", "README.md"]
version = "0.4.0"
edition = "2024"
rust-version = "1.85"
repository = "https://github.com/robofinch/seekable-iterator"
license = "MIT OR Apache-2.0"
[dependencies]
anchored-pool = { version = "0.2.0", default-features = false, optional = true }
clone-behavior = { version = "0.1.0", default-features = false, optional = true }
generic-container = { version = "0.2.2", default-features = false, optional = true }
lender = { version = "0.4.0", default-features = false, optional = true }
lending-iterator = { version = "0.1.7", default-features = false, optional = true }
[features]
default = ["clone-behavior", "generic-container"]
std = ["alloc", "generic-container/std"]
alloc = ["generic-container/alloc", "generic-container/kinds"]
anchored-pool = ["dep:anchored-pool", "std"]
anchored-pool-default = ["anchored-pool", "anchored-pool/default"]
[lints.rust]
ambiguous_negative_literals = "warn"
closure_returning_async_block = "warn"
deref_into_dyn_supertrait = "warn"
elided_lifetimes_in_paths = "warn"
explicit_outlives_requirements = "warn"
ffi_unwind_calls = "warn"
impl_trait_redundant_captures = "warn"
let_underscore_drop = "warn"
macro_use_extern_crate = "warn"
meta_variable_misuse = "warn"
missing_copy_implementations = "warn"
missing_debug_implementations = "warn"
non_ascii_idents = "warn"
redundant_imports = "warn"
redundant_lifetimes = "warn"
rust_2024_incompatible_pat = "warn"
single_use_lifetimes = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unit_bindings = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
unsafe_code = "warn"
unsafe_op_in_unsafe_fn = "warn"
unused_crate_dependencies = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"
variant_size_differences = "warn"
missing_docs = "warn"
future_incompatible = { level = "warn", priority = -1 }
keyword-idents = { level = "warn", priority = -1 }
nonstandard_style = { level = "warn", priority = -1 }
[lints.clippy]
correctness = { level = "deny", priority = -1 }
suspicious = { level = "warn", priority = -1 }
style = { level = "warn", priority = -1 }
complexity = { level = "warn", priority = -1 }
perf = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
restriction = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
cargo = { level = "warn", priority = -1 }
blanket_clippy_restriction_lints = "allow"
from_str_radix_10 = "allow"
manual_range_contains = "allow"
unwrap_or_default = "allow"
let_with_type_underscore = "allow"
map_unwrap_or = "allow"
redundant_else = "allow"
allow_attributes = "allow"
arbitrary_source_item_ordering = "allow"
arithmetic_side_effects = "allow"
error_impl_error = "allow"
exhaustive_enums = "allow"
exhaustive_structs = "allow"
if_then_some_else_none = "allow"
implicit_return = "allow"
integer_division_remainder_used = "allow"
missing_docs_in_private_items = "allow"
missing_trait_methods = "allow"
missing_inline_in_public_items = "allow"
mod_module_files = "allow"
multiple_inherent_impl = "allow"
pattern_type_mismatch = "allow"
pub_use = "allow"
pub_with_shorthand = "allow"
separated_literal_suffix = "allow"
shadow_reuse = "allow"
shadow_same = "allow"
single_call_fn = "allow"
single_char_lifetime_names = "allow"
question_mark_used = "allow"
unwrap_in_result = "allow"
option_if_let_else = "allow"
significant_drop_tightening = "allow"
[lints.rustdoc]
all = { level = "warn", priority = -1 }
[package.metadata.docs.rs]
all-features = true