fsqlite-c-api 0.3.13

SQLite C API compatibility shim for drop-in replacement
[package]
name = "fsqlite-c-api"
version = "0.3.13"
description = "SQLite C API compatibility shim for drop-in replacement"
edition.workspace = true
license-file.workspace = true
repository.workspace = true

[lib]
crate-type = ["cdylib", "staticlib", "rlib"]

[dependencies]
# The workspace `fsqlite` spec is `default-features = false` (bd-slgya), so the
# facade's default capability set (native engine + file-backed pager via
# `linux-asupersync-uring`, plus the stock-parity extensions) must be restored
# explicitly — a drop-in sqlite3 replacement that cannot open file databases
# or run json1/fts5 is broken for every C consumer.
fsqlite = { workspace = true, features = ["linux-asupersync-uring", "json", "fts5", "rtree", "icu", "misc"] }
fsqlite-ast = { workspace = true }
fsqlite-error = { workspace = true }
fsqlite-parser = { workspace = true }
fsqlite-types = { workspace = true }
tracing = { workspace = true }
# The C ABI is a hard synchronous boundary: `extern "C"` entry points cannot be
# `async` and a C caller cannot supply a `Cx`. This shim therefore owns a
# runtime and drives the engine's futures to completion itself.
asupersync = { workspace = true }

[dev-dependencies]
tempfile = { workspace = true }

# Cannot inherit workspace lints because workspace forbids unsafe_code
# and FFI requires unsafe at the boundary.
[lints.rust]
unsafe_code = "allow"

[lints.clippy]
pedantic = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
cast_precision_loss = { level = "allow", priority = 1 }
doc_markdown = { level = "allow", priority = 1 }
missing_const_for_fn = { level = "allow", priority = 1 }
uninlined_format_args = { level = "allow", priority = 1 }
missing_errors_doc = { level = "allow", priority = 1 }
missing_panics_doc = { level = "allow", priority = 1 }
module_name_repetitions = { level = "allow", priority = 1 }
must_use_candidate = { level = "allow", priority = 1 }
option_if_let_else = { level = "allow", priority = 1 }