# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "fsqlite"
version = "0.1.10"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Public API facade"
readme = "README.md"
license = "LicenseRef-MIT-OpenAI-Anthropic-Rider"
repository = "https://github.com/Dicklesworthstone/frankensqlite"
resolver = "2"

[features]
async-api = [
    "dep:asupersync",
    "fsqlite-types/native",
]
default = [
    "native",
    "linux-asupersync-uring",
    "json",
    "fts5",
    "rtree",
]
fts3 = ["dep:fsqlite-ext-fts3"]
fts5 = ["dep:fsqlite-ext-fts5"]
icu = ["dep:fsqlite-ext-icu"]
json = ["dep:fsqlite-ext-json"]
linux-asupersync-uring = [
    "native",
    "fsqlite-core/linux-asupersync-uring",
    "fsqlite-vfs/linux-asupersync-uring",
]
misc = ["dep:fsqlite-ext-misc"]
mvcc = []
native = [
    "fsqlite-types/native",
    "fsqlite-core/native",
    "fsqlite-vfs/native",
]
raptorq = []
rtree = ["dep:fsqlite-ext-rtree"]
session = ["dep:fsqlite-ext-session"]
wasm = [
    "fsqlite-types/wasm",
    "fsqlite-core/wasm",
    "fsqlite-vfs/wasm",
]

[lib]
name = "fsqlite"
path = "src/lib.rs"

[[test]]
name = "cass_orphan_fk_repros"
path = "tests/cass_orphan_fk_repros.rs"

[[test]]
name = "compat_tests"
path = "tests/compat_tests.rs"

[[test]]
name = "dcg_fts_external_content_repro"
path = "tests/dcg_fts_external_content_repro.rs"

[[test]]
name = "fts5_delete_all_reinsert_diagnosis"
path = "tests/fts5_delete_all_reinsert_diagnosis.rs"

[[test]]
name = "in_subquery_combined_with_in_predicate"
path = "tests/in_subquery_combined_with_in_predicate.rs"

[[test]]
name = "insert_test"
path = "tests/insert_test.rs"

[[test]]
name = "issue_106_rebuild_db_size"
path = "tests/issue_106_rebuild_db_size.rs"

[[test]]
name = "migration_tests"
path = "tests/migration_tests.rs"

[[test]]
name = "repro_zna34"
path = "tests/repro_zna34.rs"

[dependencies.asupersync]
version = "0.3.4"
optional = true
default-features = false

[dependencies.fsqlite-core]
version = "0.1.10"
default-features = false

[dependencies.fsqlite-error]
version = "0.1.10"

[dependencies.fsqlite-ext-fts3]
version = "0.1.10"
optional = true

[dependencies.fsqlite-ext-fts5]
version = "0.1.10"
optional = true

[dependencies.fsqlite-ext-icu]
version = "0.1.10"
optional = true

[dependencies.fsqlite-ext-json]
version = "0.1.10"
optional = true

[dependencies.fsqlite-ext-misc]
version = "0.1.10"
optional = true

[dependencies.fsqlite-ext-rtree]
version = "0.1.10"
optional = true

[dependencies.fsqlite-ext-session]
version = "0.1.10"
optional = true

[dependencies.fsqlite-parser]
version = "0.1.10"

[dependencies.fsqlite-types]
version = "0.1.10"
default-features = false

[dependencies.fsqlite-vfs]
version = "0.1.10"
default-features = false

[dev-dependencies.fsqlite-ast]
version = "0.1.10"

[dev-dependencies.fsqlite-func]
version = "0.1.10"

[dev-dependencies.rand]
version = "0.8"

[dev-dependencies.rusqlite]
version = "0.32"
features = [
    "bundled",
    "backup",
    "functions",
]

[dev-dependencies.tempfile]
version = "3.17"

[lints.clippy.approx_constant]
level = "allow"
priority = 1

[lints.clippy.assertions_on_constants]
level = "allow"
priority = 1

[lints.clippy.bool_to_int_with_if]
level = "allow"
priority = 1

[lints.clippy.case_sensitive_file_extension_comparisons]
level = "allow"
priority = 1

[lints.clippy.cast_lossless]
level = "allow"
priority = 1

[lints.clippy.cast_possible_truncation]
level = "allow"
priority = 1

[lints.clippy.cast_possible_wrap]
level = "allow"
priority = 1

[lints.clippy.cast_precision_loss]
level = "allow"
priority = 1

[lints.clippy.cast_sign_loss]
level = "allow"
priority = 1

[lints.clippy.cloned_ref_to_slice_refs]
level = "allow"
priority = 1

[lints.clippy.collection_is_never_read]
level = "allow"
priority = 1

[lints.clippy.default_trait_access]
level = "allow"
priority = 1

[lints.clippy.doc_lazy_continuation]
level = "allow"
priority = 1

[lints.clippy.doc_markdown]
level = "allow"
priority = 1

[lints.clippy.expect_fun_call]
level = "allow"
priority = 1

[lints.clippy.explicit_iter_loop]
level = "allow"
priority = 1

[lints.clippy.float_cmp]
level = "allow"
priority = 1

[lints.clippy.format_collect]
level = "allow"
priority = 1

[lints.clippy.format_push_string]
level = "allow"
priority = 1

[lints.clippy.if_not_else]
level = "allow"
priority = 1

[lints.clippy.if_then_some_else_none]
level = "allow"
priority = 1

[lints.clippy.items_after_statements]
level = "allow"
priority = 1

[lints.clippy.let_and_return]
level = "allow"
priority = 1

[lints.clippy.manual_assert]
level = "allow"
priority = 1

[lints.clippy.manual_checked_ops]
level = "allow"
priority = 1

[lints.clippy.manual_let_else]
level = "allow"
priority = 1

[lints.clippy.manual_range_contains]
level = "allow"
priority = 1

[lints.clippy.manual_string_new]
level = "allow"
priority = 1

[lints.clippy.many_single_char_names]
level = "allow"
priority = 1

[lints.clippy.map_unwrap_or]
level = "allow"
priority = 1

[lints.clippy.match_wildcard_for_single_variants]
level = "allow"
priority = 1

[lints.clippy.missing_const_for_fn]
level = "allow"
priority = 1

[lints.clippy.missing_errors_doc]
level = "allow"
priority = 1

[lints.clippy.missing_panics_doc]
level = "allow"
priority = 1

[lints.clippy.module_name_repetitions]
level = "allow"
priority = 1

[lints.clippy.must_use_candidate]
level = "allow"
priority = 1

[lints.clippy.needless_collect]
level = "allow"
priority = 1

[lints.clippy.needless_pass_by_value]
level = "allow"
priority = 1

[lints.clippy.no_effect_underscore_binding]
level = "allow"
priority = 1

[lints.clippy.nursery]
level = "deny"
priority = -1

[lints.clippy.option_if_let_else]
level = "allow"
priority = 1

[lints.clippy.pedantic]
level = "deny"
priority = -1

[lints.clippy.redundant_clone]
level = "allow"
priority = 1

[lints.clippy.redundant_closure_for_method_calls]
level = "allow"
priority = 1

[lints.clippy.return_self_not_must_use]
level = "allow"
priority = 1

[lints.clippy.semicolon_if_nothing_returned]
level = "allow"
priority = 1

[lints.clippy.significant_drop_tightening]
level = "allow"
priority = 1

[lints.clippy.similar_names]
level = "allow"
priority = 1

[lints.clippy.single_char_pattern]
level = "allow"
priority = 1

[lints.clippy.single_match]
level = "allow"
priority = 1

[lints.clippy.single_match_else]
level = "allow"
priority = 1

[lints.clippy.stable_sort_primitive]
level = "allow"
priority = 1

[lints.clippy.too_many_lines]
level = "allow"
priority = 1

[lints.clippy.uninlined_format_args]
level = "allow"
priority = 1

[lints.clippy.unnecessary_cast]
level = "allow"
priority = 1

[lints.clippy.unnecessary_literal_bound]
level = "allow"
priority = 1

[lints.clippy.unreadable_literal]
level = "allow"
priority = 1

[lints.clippy.used_underscore_binding]
level = "allow"
priority = 1

[lints.clippy.useless_format]
level = "allow"
priority = 1

[lints.clippy.useless_vec]
level = "allow"
priority = 1

[lints.clippy.wildcard_enum_match_arm]
level = "allow"
priority = 1

[lints.rust]
unsafe_code = "forbid"
