backspace-common 0.1.0

Backspace common structures.
Documentation
# Copyright 2024-2025 Gabriel Bjørnager Jensen.
#
# This file is part of Backspace.
#
# Backspace is free software: you can redistribute
# it and/or modify it under the terms of the GNU
# Affero General Public License as published by
# the Free Software Foundation, either version 3
# of the License, or (at your option) any later
# version.
#
# Backspace is distributed in the hope that it
# will be useful, but WITHOUT ANY WARRANTY; with-
# out even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Affero General Public License for more details.
#
# You should have received a copy of the GNU Af-
# fero General Public License along with Back-
# space. If not, see
# <https://www.gnu.org/licenses/>.

[package]
name          = "backspace-common"
description   = "Backspace common structures."
documentation = "https://docs.rs/backspace-common/"
readme        = "README.md"

version.workspace      = true
authors.workspace      = true
edition.workspace      = true
rust-version.workspace = true
repository.workspace   = true
license.workspace      = true

[dependencies]
polylane = { version = "0.12", default-features = false, features = ["zerocopy"] }
zerocopy = { version = "0.8", default-features = false }

[lints.clippy]
alloc_instead_of_core              = "forbid"
arc_with_non_send_sync             = "forbid"
as_pointer_underscore              = "forbid"
as_ptr_cast_mut                    = "forbid"
as_underscore                      = "forbid"
assertions_on_constants            = "warn"
assertions_on_result_states        = "warn"
assign_op_pattern                  = "warn"
assigning_clones                   = "warn"
async_yields_async                 = "forbid"
bool_to_int_with_if                = "warn"
borrow_as_ptr                      = "forbid"
branches_sharing_code              = "warn"
cast_enum_truncation               = "forbid"
cast_lossless                      = "warn"
cast_ptr_alignment                 = "forbid"
clear_with_drain                   = "warn"
clone_on_ref_ptr                   = "warn"
cloned_instead_of_copied           = "warn"
collection_is_never_read           = "warn"
dbg_macro                          = "warn"
debug_assert_with_mut_call         = "warn"
default_constructed_unit_structs   = "forbid"
deref_by_slicing                   = "warn"
derive_partial_eq_without_eq       = "warn"
derived_hash_with_manual_eq        = "forbid"
empty_docs                         = "forbid"
empty_enum_variants_with_brackets  = "warn"
empty_line_after_doc_comments      = "forbid"
empty_line_after_outer_attr        = "forbid"
empty_loop                         = "allow"
empty_structs_with_brackets        = "warn"
enum_glob_use                      = "forbid"
enum_variant_names                 = "allow"
equatable_if_let                   = "warn"
excessive_precision                = "allow"
expl_impl_clone_on_copy            = "warn"
explicit_deref_methods             = "warn"
explicit_into_iter_loop            = "warn"
explicit_iter_loop                 = "warn"
fallible_impl_from                 = "warn"
flat_map_option                    = "warn"
float_cmp                          = "deny"
float_cmp_const                    = "deny"
format_push_string                 = "warn"
from_iter_instead_of_collect       = "warn"
future_not_send                    = "forbid"
if_not_else                        = "warn"
if_then_some_else_none             = "warn"
ignored_unit_patterns              = "forbid"
implicit_clone                     = "warn"
imprecise_flops                    = "forbid"
inconsistent_struct_constructor    = "forbid"
index_refutable_slice              = "warn"
inefficient_to_string              = "warn"
infinite_loop                      = "forbid"
into_iter_without_iter             = "warn"
invalid_upcast_comparisons         = "warn"
iter_filter_is_ok                  = "warn"
iter_filter_is_some                = "warn"
iter_not_returning_iterator        = "warn"
iter_on_empty_collections          = "warn"
iter_on_single_items               = "warn"
iter_with_drain                    = "warn"
iter_without_into_iter             = "warn"
large_enum_variant                 = "allow"
let_unit_value                     = "forbid"
macro_use_imports                  = "warn"
manual_assert                      = "warn"
manual_c_str_literals              = "warn"
manual_instant_elapsed             = "warn"
manual_is_variant_and              = "warn"
manual_let_else                    = "warn"
manual_ok_or                       = "warn"
manual_string_new                  = "warn"
map_unwrap_or                      = "warn"
match_bool                         = "warn"
match_same_arms                    = "warn"
mismatching_type_param_order       = "warn"
missing_transmute_annotations      = "forbid"
mixed_read_write_in_expression     = "forbid"
module_inception                   = "allow"
must_use_unit                      = "forbid"
mut_mut                            = "warn"
mutex_atomic                       = "forbid"
mutex_integer                      = "forbid"
needless_arbitrary_self_type       = "forbid"
needless_bitwise_bool              = "warn"
needless_collect                   = "warn"
needless_continue                  = "warn"
needless_raw_string_hashes         = "warn"
needless_raw_strings               = "warn"
no_effect_underscore_binding       = "forbid"
no_mangle_with_rust_abi            = "forbid"
non_ascii_literal                  = "deny"
nonstandard_macro_braces           = "forbid"
option_as_ref_cloned               = "warn"
option_if_let_else                 = "warn"
option_map_unit_fn                 = "forbid"
option_option                      = "warn"
or_fun_call                        = "forbid"
path_buf_push_overwrite            = "warn"
pattern_type_mismatch              = "forbid"
precedence                         = "allow"
ptr_cast_constness                 = "forbid"
pub_underscore_fields              = "forbid"
range_plus_one                     = "warn"
rc_buffer                          = "forbid"
rc_mutex                           = "forbid"
read_zero_byte_vec                 = "warn"
redundant_clone                    = "warn"
redundant_closure_for_method_calls = "warn"
redundant_else                     = "warn"
redundant_type_annotations         = "warn"
ref_binding_to_reference           = "warn"
ref_option_ref                     = "warn"
rest_pat_in_fully_bound_structs    = "warn"
result_map_unit_fn                 = "forbid"
result_unit_err                    = "forbid"
return_self_not_must_use           = "forbid"
same_functions_in_if_condition     = "warn"
same_name_method                   = "deny"
self_named_module_files            = "forbid"
separated_literal_suffix           = "warn"
single_char_pattern                = "warn"
std_instead_of_alloc               = "forbid"
std_instead_of_core                = "forbid"
str_split_at_newline               = "warn"
string_lit_as_bytes                = "forbid"
string_lit_chars_any               = "warn"
suboptimal_flops                   = "forbid"
todo                               = "warn"
trait_duplication_in_bounds        = "forbid"
transmute_ptr_to_ptr               = "forbid"
type_repetition_in_bounds          = "forbid"
uninhabited_references             = "forbid"
uninlined_format_args              = "forbid"
unit_arg                           = "forbid"
unit_cmp                           = "forbid"
unit_hash                          = "forbid"
unit_return_expecting_ord          = "forbid"
unnecessary_box_returns            = "forbid"
unnecessary_join                   = "warn"
unnecessary_self_imports           = "forbid"
unnecessary_wraps                  = "warn"
unneeded_field_pattern             = "warn"
unnested_or_patterns               = "warn"
unused_async                       = "warn"
unused_peekable                    = "warn"
unused_rounding                    = "warn"
unused_unit                        = "forbid"
use_self                           = "forbid"
used_underscore_binding            = "warn"
useless_let_if_seq                 = "warn"
verbose_bit_mask                   = "warn"
verbose_file_reads                 = "warn"
wildcard_dependencies              = "forbid"
zero_prefixed_literal              = "allow"

[lints.rust]
invalid_atomic_ordering = "forbid"
missing_docs            = "warn"