2024-05-09 15:59:08 -07:00
#cargo-features = ["profile-rustflags"]
[ workspace ]
resolver = "2"
2025-05-24 00:28:09 +01:00
members = [ "src/*" , "xtask/*" ]
2024-05-09 15:59:08 -07:00
default-members = [ "src/*" ]
[ workspace . package ]
2024-03-22 21:50:51 -04:00
authors = [
2025-01-25 22:42:16 -05:00
"June Clementine Strawberry <june@girlboss.ceo>" ,
"strawberry <strawberry@puppygock.gay>" , # woof
"Jason Volk <jason@zemos.net>" ,
2024-03-22 21:50:51 -04:00
]
2024-06-01 10:19:26 +00:00
categories = [ "network-programming" ]
2025-01-25 22:42:16 -05:00
description = "a very cool Matrix chat homeserver written in Rust"
2025-02-23 01:17:30 -05:00
edition = "2024"
2025-04-18 17:38:42 +01:00
homepage = "https://continuwuity.org/"
2025-01-25 22:42:16 -05:00
keywords = [ "chat" , "matrix" , "networking" , "server" , "uwu" ]
2024-06-01 10:19:26 +00:00
license = "Apache-2.0"
# See also `rust-toolchain.toml`
2024-05-09 15:59:08 -07:00
readme = "README.md"
2025-04-18 17:38:42 +01:00
repository = "https://forgejo.ellis.link/continuwuation/continuwuity"
2025-04-05 18:31:14 -04:00
rust-version = "1.86.0"
2025-07-25 14:10:06 +01:00
version = "0.5.0-rc.7"
2022-12-23 00:20:05 -08:00
2024-05-18 22:32:02 -04:00
[ workspace . metadata . crane ]
2024-12-14 21:58:01 -05:00
name = "conduwuit"
2024-05-18 22:32:02 -04:00
2024-08-02 22:09:30 +00:00
[ workspace . dependencies . arrayvec ]
2025-03-31 05:03:15 +00:00
version = "0.7.6"
2024-11-28 05:54:34 +00:00
features = [ "serde" ]
[ workspace . dependencies . smallvec ]
2025-03-31 05:03:15 +00:00
version = "1.14.0"
2024-11-28 05:54:34 +00:00
features = [
"const_generics" ,
"const_new" ,
"serde" ,
2024-12-28 00:57:02 +00:00
"union" ,
2024-11-28 05:54:34 +00:00
"write" ,
]
2024-08-02 22:09:30 +00:00
2025-02-08 00:16:37 +00:00
[ workspace . dependencies . smallstr ]
version = "0.3"
features = [ "ffi" , "std" , "union" ]
2024-07-13 21:02:43 +00:00
[ workspace . dependencies . const-str ]
2025-03-31 05:03:15 +00:00
version = "0.6.2"
2024-07-13 21:02:43 +00:00
2024-07-24 23:01:00 +00:00
[ workspace . dependencies . ctor ]
2024-11-20 16:31:36 -05:00
version = "0.2.9"
2024-07-24 23:01:00 +00:00
2024-07-24 09:10:01 +00:00
[ workspace . dependencies . cargo_toml ]
2024-12-11 14:26:15 -05:00
version = "0.21"
2024-07-28 15:15:39 -04:00
default-features = false
2024-07-24 09:10:01 +00:00
features = [ "features" ]
2024-07-25 02:59:54 +00:00
[ workspace . dependencies . toml ]
version = "0.8.14"
default-features = false
features = [ "parse" ]
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . sanitize-filename ]
2024-11-15 09:44:29 -05:00
version = "0.6.0"
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . base64 ]
version = "0.22.1"
2024-11-15 09:44:29 -05:00
default-features = false
2022-01-19 07:09:25 +01:00
2021-10-02 00:37:39 +02:00
# used for TURN server authentication
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . hmac ]
version = "0.12.1"
2024-11-15 09:44:29 -05:00
default-features = false
2024-01-21 22:59:06 -05:00
2024-05-09 15:59:08 -07:00
# used for checking if an IP is in specific subnets / CIDR ranges easier
[ workspace . dependencies . ipaddress ]
version = "0.1.3"
2024-02-24 17:25:43 -05:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . rand ]
version = "0.8.5"
2024-02-11 11:49:31 -05:00
2024-03-09 15:49:51 -05:00
# Used for the http request / response body type for Ruma endpoints used with reqwest
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . bytes ]
2025-03-31 05:03:15 +00:00
version = "1.10.1"
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . http-body-util ]
2025-03-31 05:03:15 +00:00
version = "0.1.3"
2024-04-11 20:17:30 -04:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . http ]
2025-03-31 05:03:15 +00:00
version = "1.3.1"
2024-04-19 17:41:54 -07:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . regex ]
2024-11-15 09:44:29 -05:00
version = "1.11.1"
2024-04-19 17:41:54 -07:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . axum ]
2024-11-20 16:31:36 -05:00
version = "0.7.9"
2024-04-19 17:41:54 -07:00
default-features = false
2024-05-09 15:59:08 -07:00
features = [
"form" ,
"http1" ,
"http2" ,
"json" ,
"matched-path" ,
"tokio" ,
2024-05-28 02:28:45 -04:00
"tracing" ,
2024-05-09 15:59:08 -07:00
]
2024-04-19 17:41:54 -07:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . axum-extra ]
2024-11-20 16:31:36 -05:00
version = "0.9.6"
2024-03-09 15:49:51 -05:00
default-features = false
2024-06-10 16:43:04 -04:00
features = [ "typed-header" , "tracing" ]
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . axum-server ]
2025-03-31 05:03:15 +00:00
version = "0.7.2"
2024-07-28 15:15:39 -04:00
default-features = false
2024-03-09 15:49:51 -05:00
2024-08-15 02:35:19 +00:00
# to listen on both HTTP and HTTPS if listening on TLS dierctly from conduwuit for complement or sytest
[ workspace . dependencies . axum-server-dual-protocol ]
version = "0.7"
2024-06-07 01:01:30 +00:00
[ workspace . dependencies . axum-client-ip ]
2024-10-24 20:47:51 -04:00
version = "0.6.1"
2024-06-07 01:01:30 +00:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . tower ]
2025-03-31 05:03:15 +00:00
version = "0.5.2"
2024-07-28 15:15:39 -04:00
default-features = false
2024-03-09 15:49:51 -05:00
features = [ "util" ]
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . tower-http ]
2024-11-20 16:31:36 -05:00
version = "0.6.2"
2024-07-28 15:15:39 -04:00
default-features = false
2024-04-21 20:05:19 -04:00
features = [
"add-extension" ,
2025-02-02 10:07:00 +00:00
"catch-panic" ,
2024-04-21 20:05:19 -04:00
"cors" ,
"sensitive-headers" ,
2024-05-07 12:53:30 -04:00
"set-header" ,
2025-02-02 10:07:00 +00:00
"timeout" ,
2024-04-21 20:05:19 -04:00
"trace" ,
"util" ,
]
2024-03-09 15:49:51 -05:00
2024-08-23 19:29:36 -04:00
[ workspace . dependencies . rustls ]
2025-04-03 04:34:11 +00:00
version = "0.23.25"
2024-11-15 09:44:29 -05:00
default-features = false
features = [ "aws_lc_rs" ]
2024-08-23 19:29:36 -04:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . reqwest ]
2025-04-03 04:34:11 +00:00
version = "0.12.15"
2024-03-09 15:49:51 -05:00
default-features = false
2024-05-09 15:59:08 -07:00
features = [
"rustls-tls-native-roots" ,
"socks" ,
"hickory-dns" ,
2024-05-27 08:43:05 +00:00
"http2" ,
2024-05-09 15:59:08 -07:00
]
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . serde ]
2025-03-31 05:03:15 +00:00
version = "1.0.219"
2024-07-28 15:15:39 -04:00
default-features = false
2024-03-09 15:49:51 -05:00
features = [ "rc" ]
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . serde_json ]
2025-03-31 05:03:15 +00:00
version = "1.0.140"
2024-07-28 15:15:39 -04:00
default-features = false
2024-03-09 15:49:51 -05:00
features = [ "raw_value" ]
2024-05-09 15:59:08 -07:00
# Used for appservice registration files
[ workspace . dependencies . serde_yaml ]
version = "0.9.34"
# Used to load forbidden room/user regex from config
[ workspace . dependencies . serde_regex ]
version = "1.1.0"
# Used for ruma wrapper
[ workspace . dependencies . serde_html_form ]
version = "0.2.6"
2024-03-09 15:49:51 -05:00
# Used for password hashing
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . argon2 ]
2024-03-09 15:49:51 -05:00
version = "0.5.3"
2024-03-22 21:50:51 -04:00
features = [ "alloc" , "rand" ]
2024-03-09 15:49:51 -05:00
default-features = false
2025-02-01 18:35:23 -05:00
# Used to generate thumbnails for images & blurhashes
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . image ]
2024-11-13 22:01:46 +00:00
version = "0.25.5"
2024-03-09 15:49:51 -05:00
default-features = false
2024-05-09 15:59:08 -07:00
features = [
"jpeg" ,
"png" ,
"gif" ,
"webp" ,
]
2024-03-09 15:49:51 -05:00
2025-02-01 18:35:23 -05:00
[ workspace . dependencies . blurhash ]
version = "0.2.3"
default-features = false
features = [
2025-02-04 02:24:50 +00:00
"fast-linear-to-srgb" ,
"image" ,
2025-02-01 18:35:23 -05:00
]
2025-02-04 02:24:50 +00:00
2024-03-09 15:49:51 -05:00
# logging
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . log ]
2025-04-03 04:34:11 +00:00
version = "0.4.27"
2024-03-28 23:08:35 -07:00
default-features = false
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . tracing ]
2024-11-27 20:58:04 -05:00
version = "0.1.41"
2024-03-09 15:49:51 -05:00
default-features = false
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . tracing-subscriber ]
2025-03-11 18:05:36 -04:00
version = "0.3.19"
2024-11-15 09:44:29 -05:00
default-features = false
features = [ "env-filter" , "std" , "tracing" , "tracing-log" , "ansi" , "fmt" ]
2025-05-22 13:19:30 +01:00
[ workspace . dependencies . tracing-journald ]
version = "0.3.1"
2024-06-11 01:26:31 +00:00
[ workspace . dependencies . tracing-core ]
2024-11-27 20:58:04 -05:00
version = "0.1.33"
2024-11-15 09:44:29 -05:00
default-features = false
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
# for URL previews
[ workspace . dependencies . webpage ]
version = "2.0.1"
default-features = false
2024-03-09 15:49:51 -05:00
2024-12-14 21:58:01 -05:00
# used for conduwuit's CLI and admin room command parsing
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . clap ]
2025-04-03 04:34:11 +00:00
version = "4.5.35"
2024-03-29 19:08:16 -04:00
default-features = false
2024-04-05 17:54:38 -04:00
features = [
2024-05-09 15:59:08 -07:00
"derive" ,
2024-11-23 03:45:11 +00:00
"env" ,
2024-05-09 15:59:08 -07:00
"error-context" ,
2024-11-23 03:45:11 +00:00
"help" ,
"std" ,
2024-05-09 15:59:08 -07:00
"string" ,
2024-11-23 03:45:11 +00:00
"usage" ,
2024-04-05 17:54:38 -04:00
]
2024-03-29 18:21:17 -04:00
2024-08-08 17:18:30 +00:00
[ workspace . dependencies . futures ]
2025-03-31 05:03:15 +00:00
version = "0.3.31"
2024-03-10 00:15:14 -05:00
default-features = false
2024-10-30 07:01:50 +00:00
features = [ "std" , "async-await" ]
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . tokio ]
2025-04-08 09:05:49 -04:00
version = "1.44.2"
2024-07-28 15:15:39 -04:00
default-features = false
2024-05-09 15:59:08 -07:00
features = [
"fs" ,
"net" ,
"macros" ,
"sync" ,
"signal" ,
"time" ,
"rt-multi-thread" ,
"io-util" ,
2024-12-17 14:51:21 +00:00
"tracing" ,
2024-05-09 15:59:08 -07:00
]
2024-06-25 05:05:02 +00:00
[ workspace . dependencies . tokio-metrics ]
2024-12-11 14:26:15 -05:00
version = "0.4.0"
2024-06-25 05:05:02 +00:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . libloading ]
2024-12-11 14:26:15 -05:00
version = "0.8.6"
2024-05-09 15:59:08 -07:00
# Validating urls in config, was already a transitive dependency
[ workspace . dependencies . url ]
2024-11-23 22:31:44 +00:00
version = "2.5.4"
2024-07-28 15:15:39 -04:00
default-features = false
2024-05-09 15:59:08 -07:00
features = [ "serde" ]
# standard date and time tools
[ workspace . dependencies . chrono ]
version = "0.4.38"
2024-07-04 12:58:53 +00:00
features = [ "alloc" , "std" ]
2024-03-09 15:49:51 -05:00
default-features = false
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . hyper ]
2025-03-31 05:03:15 +00:00
version = "1.6.0"
2024-07-28 15:15:39 -04:00
default-features = false
2024-05-09 15:59:08 -07:00
features = [
"server" ,
"http1" ,
"http2" ,
]
[ workspace . dependencies . hyper-util ]
2025-04-03 04:05:42 +00:00
version = "0.1.11"
2024-07-28 15:15:39 -04:00
default-features = false
2024-05-29 17:21:59 +00:00
features = [
"server-auto" ,
"server-graceful" ,
"tokio" ,
]
2024-05-09 15:59:08 -07:00
2024-03-09 15:49:51 -05:00
# to support multiple variations of setting a config option
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . either ]
2025-03-31 05:03:15 +00:00
version = "1.15.0"
2024-07-28 15:15:39 -04:00
default-features = false
2024-03-09 15:49:51 -05:00
features = [ "serde" ]
2025-05-10 20:37:08 +01:00
# Used for reading the configuration from continuwuity.toml & environment variables
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . figment ]
2024-11-15 09:44:29 -05:00
version = "0.10.19"
2024-07-28 15:15:39 -04:00
default-features = false
2024-05-09 15:59:08 -07:00
features = [ "env" , "toml" ]
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . hickory-resolver ]
2025-04-03 04:05:42 +00:00
version = "0.25.1"
2024-03-09 15:49:51 -05:00
default-features = false
2025-04-03 04:05:42 +00:00
features = [
"serde" ,
"system-config" ,
"tokio" ,
]
2024-03-09 15:49:51 -05:00
2024-12-14 21:58:01 -05:00
# Used for conduwuit::Error type
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . thiserror ]
2025-03-31 05:03:15 +00:00
version = "2.0.12"
2024-11-15 09:44:29 -05:00
default-features = false
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
# Used when hashing the state
[ workspace . dependencies . ring ]
2025-04-03 04:34:11 +00:00
version = "0.17.14"
2024-11-15 09:44:29 -05:00
default-features = false
2024-05-09 15:59:08 -07:00
# Used to make working with iterators easier, was already a transitive depdendency
[ workspace . dependencies . itertools ]
2025-03-31 05:03:15 +00:00
version = "0.14.0"
2024-05-09 15:59:08 -07:00
# to parse user-friendly time durations in admin commands
#TODO: overlaps chrono?
[ workspace . dependencies . cyborgtime ]
version = "2.1.1"
2024-11-27 06:28:32 +00:00
# used for MPSC channels
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . loole ]
2024-11-13 22:01:46 +00:00
version = "0.4.0"
2024-05-09 15:59:08 -07:00
2024-11-27 06:28:32 +00:00
# used for MPMC channels
[ workspace . dependencies . async-channel ]
version = "2.3.1"
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . async-trait ]
2025-03-31 05:03:15 +00:00
version = "0.1.88"
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . lru-cache ]
version = "0.1.2"
2024-03-09 15:49:51 -05:00
# Used for matrix spec type definitions and helpers
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . ruma ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/ruwuma"
2024-06-15 21:31:33 -04:00
#branch = "conduwuit-changes"
2025-07-19 20:34:34 +01:00
rev = "b753738047d1f443aca870896ef27ecaacf027da"
2024-03-09 15:49:51 -05:00
features = [
2024-03-22 21:50:51 -04:00
"compat" ,
"rand" ,
"appservice-api-c" ,
"client-api" ,
"federation-api" ,
2024-06-12 18:52:24 +00:00
"markdown" ,
2024-03-22 21:50:51 -04:00
"push-gateway-api-c" ,
"unstable-exhaustive-types" ,
"ring-compat" ,
2024-11-20 16:31:36 -05:00
"compat-upload-signatures" ,
2024-07-23 22:11:51 -04:00
"identifiers-validation" ,
2024-03-22 21:50:51 -04:00
"unstable-unspecified" ,
2024-04-07 15:45:48 -04:00
"unstable-msc2448" ,
"unstable-msc2666" ,
2024-04-05 17:54:38 -04:00
"unstable-msc2867" ,
2024-03-22 21:50:51 -04:00
"unstable-msc2870" ,
2024-04-05 17:54:38 -04:00
"unstable-msc3026" ,
2024-03-22 21:50:51 -04:00
"unstable-msc3061" ,
2024-10-24 20:47:51 -04:00
"unstable-msc3245" ,
2024-07-03 12:40:08 -04:00
"unstable-msc3266" ,
2024-08-24 14:52:48 +02:00
"unstable-msc3381" , # polls
"unstable-msc3489" , # beacon / live location
2024-04-07 15:45:48 -04:00
"unstable-msc3575" ,
2025-03-09 00:44:56 -05:00
"unstable-msc3930" , # polls push rules
2024-10-24 20:47:51 -04:00
"unstable-msc4075" ,
2025-03-09 00:44:56 -05:00
"unstable-msc4095" ,
2024-04-06 18:42:00 -04:00
"unstable-msc4121" ,
2024-04-11 18:29:27 -04:00
"unstable-msc4125" ,
2024-09-14 11:16:19 -04:00
"unstable-msc4186" ,
2025-06-20 23:39:20 +01:00
"unstable-msc4203" , # sending to-device events to appservices
2024-10-26 17:26:50 -04:00
"unstable-msc4210" , # remove legacy mentions
2024-03-22 21:50:51 -04:00
"unstable-extensible-events" ,
2025-02-08 01:58:13 +00:00
"unstable-pdu" ,
2024-03-09 15:49:51 -05:00
]
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . rust-rocksdb ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/rust-rocksdb-zaidoon1"
2025-07-24 23:22:07 +01:00
rev = "99b0319416b64830dd6f8943e1f65e15aeef18bc"
2025-03-06 18:12:54 -05:00
default-features = false
2024-05-09 15:59:08 -07:00
features = [
"multi-threaded-cf" ,
"mt_static" ,
"lz4" ,
"zstd" ,
"bzip2" ,
]
[ workspace . dependencies . sha2 ]
version = "0.10.8"
2024-11-15 09:44:29 -05:00
default-features = false
[ workspace . dependencies . sha1 ]
version = "0.10.6"
default-features = false
2024-05-09 15:59:08 -07:00
# optional opentelemetry, performance measurements, flamegraphs, etc for performance measurements and monitoring
[ workspace . dependencies . opentelemetry ]
version = "0.21.0"
[ workspace . dependencies . tracing-flame ]
version = "0.2.0"
[ workspace . dependencies . tracing-opentelemetry ]
version = "0.22.0"
[ workspace . dependencies . opentelemetry_sdk ]
version = "0.21.2"
features = [ "rt-tokio" ]
[ workspace . dependencies . opentelemetry-jaeger ]
version = "0.20.0"
features = [ "rt-tokio" ]
# optional sentry metrics for crash/panic reporting
[ workspace . dependencies . sentry ]
2025-04-03 04:34:11 +00:00
version = "0.37.0"
2024-04-19 17:41:54 -07:00
default-features = false
2024-05-09 15:59:08 -07:00
features = [
"backtrace" ,
"contexts" ,
"debug-images" ,
"panic" ,
"rustls" ,
"tower" ,
"tower-http" ,
"tracing" ,
"reqwest" ,
"log" ,
]
2024-04-17 20:05:56 -04:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . sentry-tracing ]
2025-04-03 04:34:11 +00:00
version = "0.37.0"
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . sentry-tower ]
2025-04-03 04:34:11 +00:00
version = "0.37.0"
2024-03-09 15:49:51 -05:00
2024-05-21 21:06:53 -04:00
# jemalloc usage
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . tikv-jemalloc-sys ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/jemallocator"
2025-01-18 01:30:41 +00:00
rev = "82af58d6a13ddd5dcdc7d4e91eae3b63292995b8"
2024-05-09 15:59:08 -07:00
default-features = false
2025-01-18 01:30:41 +00:00
features = [
"background_threads_runtime_support" ,
"unprefixed_malloc_on_supported_platforms" ,
]
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . tikv-jemallocator ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/jemallocator"
2025-01-18 01:30:41 +00:00
rev = "82af58d6a13ddd5dcdc7d4e91eae3b63292995b8"
2024-05-09 15:59:08 -07:00
default-features = false
2025-01-18 01:30:41 +00:00
features = [
"background_threads_runtime_support" ,
"unprefixed_malloc_on_supported_platforms" ,
]
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . tikv-jemalloc-ctl ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/jemallocator"
2025-01-18 01:30:41 +00:00
rev = "82af58d6a13ddd5dcdc7d4e91eae3b63292995b8"
2024-05-09 15:59:08 -07:00
default-features = false
2024-08-18 17:36:33 -04:00
features = [ "use_std" ]
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . console-subscriber ]
2024-07-29 19:18:56 -04:00
version = "0.4"
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . nix ]
2024-06-03 00:07:38 -04:00
version = "0.29.0"
2024-07-28 15:15:39 -04:00
default-features = false
2024-05-09 15:59:08 -07:00
features = [ "resource" ]
2024-04-19 23:39:28 -04:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . sd-notify ]
2025-04-03 04:34:11 +00:00
version = "0.4.5"
2024-11-15 09:44:29 -05:00
default-features = false
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
[ workspace . dependencies . hardened_malloc-rs ]
version = "0.1.2"
default-features = false
features = [
"static" ,
"gcc" ,
"light" ,
]
2024-04-10 01:53:31 -04:00
2024-06-16 19:42:16 +00:00
[ workspace . dependencies . rustyline-async ]
2024-08-13 20:51:27 -04:00
version = "0.4.3"
2024-07-14 00:14:23 -04:00
default-features = false
2024-06-10 06:02:17 +00:00
[ workspace . dependencies . termimad ]
2025-04-03 04:34:11 +00:00
version = "0.31.2"
2024-06-17 06:07:26 +00:00
default-features = false
2024-07-07 03:36:50 +00:00
[ workspace . dependencies . checked_ops ]
version = "0.1"
2024-07-24 00:14:03 +00:00
[ workspace . dependencies . syn ]
2025-03-31 05:03:15 +00:00
version = "2.0"
2024-07-28 15:15:39 -04:00
default-features = false
2024-07-24 00:14:03 +00:00
features = [ "full" , "extra-traits" ]
[ workspace . dependencies . quote ]
2025-03-31 05:03:15 +00:00
version = "1.0"
2024-07-24 00:14:03 +00:00
[ workspace . dependencies . proc-macro2 ]
2025-03-31 05:03:15 +00:00
version = "1.0"
2024-07-24 00:14:03 +00:00
2025-07-19 20:36:27 +01:00
[ workspace . dependencies . parking_lot ]
version = "0.12.4"
2025-07-19 23:32:18 +01:00
features = [ "hardware-lock-elision" , "deadlock_detection" ] # TODO: Check if deadlock_detection has a perf impact, if it does only enable with debug_assertions
2025-07-19 20:36:27 +01:00
# Use this when extending with_lock::WithLock to parking_lot
2025-07-19 22:30:41 +01:00
[ workspace . dependencies . lock_api ]
version = "0.4.13"
2025-07-19 20:36:27 +01:00
2024-11-12 22:01:32 +00:00
[ workspace . dependencies . bytesize ]
2025-03-31 05:03:15 +00:00
version = "2.0"
2024-11-12 22:01:32 +00:00
2024-12-17 14:32:54 +00:00
[ workspace . dependencies . core_affinity ]
version = "0.8.1"
2024-12-30 09:06:47 +00:00
[ workspace . dependencies . libc ]
version = "0.2"
2024-12-21 22:12:42 +00:00
2025-01-01 20:20:41 +00:00
[ workspace . dependencies . num-traits ]
version = "0.2"
2025-01-22 00:52:48 +00:00
[ workspace . dependencies . minicbor ]
2025-03-31 05:03:15 +00:00
version = "0.26.3"
2025-01-22 00:52:48 +00:00
features = [ "std" ]
[ workspace . dependencies . minicbor-serde ]
2025-03-31 05:03:15 +00:00
version = "0.4.1"
2025-01-22 00:52:48 +00:00
features = [ "std" ]
2025-02-08 01:58:13 +00:00
[ workspace . dependencies . maplit ]
version = "1.0.2"
2024-05-09 15:59:08 -07:00
#
# Patches
#
2023-07-26 13:24:44 -07:00
2024-04-25 09:07:59 -07:00
# backport of [https://github.com/tokio-rs/tracing/pull/2956] to the 0.1.x branch of tracing.
# we can switch back to upstream if #2956 is merged and backported in the upstream repo.
2025-04-18 17:38:42 +01:00
# https://forgejo.ellis.link/continuwuation/tracing/commit/b348dca742af641c47bc390261f60711c2af573c
2024-04-25 09:07:59 -07:00
[ patch . crates-io . tracing-subscriber ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/tracing"
2025-03-11 18:05:36 -04:00
rev = "1e64095a8051a1adf0d1faa307f9f030889ec2aa"
2024-04-25 09:07:59 -07:00
[ patch . crates-io . tracing ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/tracing"
2025-03-11 18:05:36 -04:00
rev = "1e64095a8051a1adf0d1faa307f9f030889ec2aa"
2024-04-25 09:07:59 -07:00
[ patch . crates-io . tracing-core ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/tracing"
2025-03-11 18:05:36 -04:00
rev = "1e64095a8051a1adf0d1faa307f9f030889ec2aa"
2024-06-15 21:27:12 -04:00
[ patch . crates-io . tracing-log ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/tracing"
2025-03-11 18:05:36 -04:00
rev = "1e64095a8051a1adf0d1faa307f9f030889ec2aa"
2024-04-25 09:07:59 -07:00
2025-06-21 00:50:02 +01:00
# adds a tab completion callback: https://forgejo.ellis.link/continuwuation/rustyline-async/src/branch/main/.patchy/0002-add-tab-completion-callback.patch
# adds event for CTRL+\: https://forgejo.ellis.link/continuwuation/rustyline-async/src/branch/main/.patchy/0001-add-event-for-ctrl.patch
2024-07-14 00:14:23 -04:00
[ patch . crates-io . rustyline-async ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/rustyline-async"
2025-06-21 00:50:02 +01:00
rev = "e9f01cf8c6605483cb80b3b0309b400940493d7f"
2024-07-14 00:14:23 -04:00
2024-12-25 06:17:18 +00:00
# adds LIFO queue scheduling; this should be updated with PR progress.
[ patch . crates-io . event-listener ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/event-listener"
2025-01-02 18:55:52 -05:00
rev = "fe4aebeeaae435af60087ddd56b573a2e0be671d"
2024-12-25 06:17:18 +00:00
[ patch . crates-io . async-channel ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/async-channel"
2025-01-02 18:55:52 -05:00
rev = "92e5e74063bf2a3b10414bcc8a0d68b235644280"
2024-12-25 06:17:18 +00:00
2025-04-03 19:36:24 +00:00
# adds affinity masks for selecting more than one core at a time
2024-12-30 09:35:44 +00:00
[ patch . crates-io . core_affinity ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/core_affinity_rs"
2024-12-30 09:35:44 +00:00
rev = "9c8e51510c35077df888ee72a36b4b05637147da"
2025-04-03 19:36:24 +00:00
# reverts hyperium#148 conflicting with our delicate federation resolver hooks
[ patch . crates-io . hyper-util ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/hyper-util"
2025-04-03 19:36:24 +00:00
rev = "e4ae7628fe4fcdacef9788c4c8415317a4489941"
2025-06-20 23:39:20 +01:00
# Allows no-aaaa option in resolv.conf
# Use 1-indexed line numbers when displaying parse error messages
2025-04-05 18:31:14 -04:00
[ patch . crates-io . resolv-conf ]
2025-04-18 17:38:42 +01:00
git = "https://forgejo.ellis.link/continuwuation/resolv-conf"
2025-06-20 23:39:20 +01:00
rev = "56251316cc4127bcbf36e68ce5e2093f4d33e227"
2025-04-05 18:31:14 -04:00
2024-05-09 15:59:08 -07:00
#
# Our crates
#
2024-03-09 15:49:51 -05:00
2024-12-14 21:58:01 -05:00
[ workspace . dependencies . conduwuit-router ]
package = "conduwuit_router"
2024-05-09 15:59:08 -07:00
path = "src/router"
default-features = false
2024-04-25 09:07:59 -07:00
2024-12-14 21:58:01 -05:00
[ workspace . dependencies . conduwuit-admin ]
package = "conduwuit_admin"
2024-05-09 15:59:08 -07:00
path = "src/admin"
default-features = false
2024-04-22 22:36:11 -04:00
2024-12-14 21:58:01 -05:00
[ workspace . dependencies . conduwuit-api ]
package = "conduwuit_api"
2024-05-09 15:59:08 -07:00
path = "src/api"
default-features = false
2024-04-10 01:53:31 -04:00
2024-12-14 21:58:01 -05:00
[ workspace . dependencies . conduwuit-service ]
package = "conduwuit_service"
2024-05-09 15:59:08 -07:00
path = "src/service"
default-features = false
2024-12-14 21:58:01 -05:00
[ workspace . dependencies . conduwuit-database ]
package = "conduwuit_database"
2024-05-09 15:59:08 -07:00
path = "src/database"
default-features = false
2024-04-24 01:15:49 -04:00
2024-12-14 21:58:01 -05:00
[ workspace . dependencies . conduwuit-core ]
package = "conduwuit_core"
2024-05-09 15:59:08 -07:00
path = "src/core"
default-features = false
2024-04-23 11:15:29 -07:00
2024-12-14 21:58:01 -05:00
[ workspace . dependencies . conduwuit-macros ]
package = "conduwuit_macros"
2024-07-24 00:14:03 +00:00
path = "src/macros"
default-features = false
2025-04-25 02:47:48 +01:00
[ workspace . dependencies . conduwuit-web ]
package = "conduwuit_web"
path = "src/web"
default-features = false
2025-05-01 00:38:35 +01:00
[ workspace . dependencies . conduwuit-build-metadata ]
package = "conduwuit_build_metadata"
path = "src/build_metadata"
default-features = false
2025-05-24 00:28:09 +01:00
[ workspace . dependencies . conduwuit ]
package = "conduwuit"
path = "src/main"
2024-05-09 15:59:08 -07:00
###############################################################################
#
# Release profiles
2024-03-23 23:13:40 -04:00
#
2024-03-09 15:49:51 -05:00
2021-08-13 17:20:40 +02:00
[ profile . release ]
2023-08-05 13:30:52 -10:00
strip = "symbols"
2024-05-09 15:59:08 -07:00
lto = "thin"
2024-01-16 19:49:44 -05:00
2024-04-19 23:47:14 -04:00
# release profile with debug symbols
[ profile . release-debuginfo ]
inherits = "release"
2024-04-20 01:15:51 -04:00
debug = "full"
2024-05-09 15:59:08 -07:00
strip = "none"
2024-04-19 23:47:14 -04:00
2024-01-16 19:49:44 -05:00
[ profile . release-high-perf ]
inherits = "release"
2024-05-09 15:59:08 -07:00
lto = "fat"
2024-01-16 19:49:44 -05:00
codegen-units = 1
2024-04-02 00:01:55 -04:00
panic = "abort"
2021-08-13 17:20:40 +02:00
2024-05-09 15:59:08 -07:00
# do not use without profile-rustflags enabled
[ profile . release-max-perf ]
inherits = "release"
strip = "symbols"
lto = "fat"
#rustflags = [
# '-Ctarget-cpu=native',
# '-Ztune-cpu=native',
# '-Ctarget-feature=+crt-static',
# '-Crelocation-model=static',
# '-Ztls-model=local-exec',
# '-Zinline-in-all-cgus=true',
# '-Zinline-mir=true',
# '-Zmir-opt-level=3',
2024-05-24 02:03:36 +00:00
# '-Clink-arg=-fuse-ld=gold',
2024-05-09 15:59:08 -07:00
# '-Clink-arg=-Wl,--threads',
# '-Clink-arg=-Wl,--gc-sections',
2024-05-24 02:03:36 +00:00
# '-Clink-arg=-luring',
# '-Clink-arg=-lstdc++',
# '-Clink-arg=-lc',
2024-05-09 15:59:08 -07:00
# '-Ztime-passes',
# '-Ztime-llvm-passes',
#]
[ profile . release-max-perf . build-override ]
inherits = "release-max-perf"
opt-level = 0
2024-08-01 12:25:22 +00:00
codegen-units = 32
2024-05-09 15:59:08 -07:00
#rustflags = [
2024-08-01 12:25:22 +00:00
# '-Crelocation-model=pic',
# '-Ctarget-feature=-crt-static',
# '-Clink-arg=-Wl,--no-gc-sections',
#]
2024-12-14 21:58:01 -05:00
[ profile . release-max-perf . package . conduwuit_macros ]
2024-08-01 12:25:22 +00:00
inherits = "release-max-perf.build-override"
#rustflags = [
# '-Crelocation-model=pic',
2024-05-09 15:59:08 -07:00
# '-Ctarget-feature=-crt-static',
#]
[ profile . bench ]
inherits = "release"
#rustflags = [
# "-Cremark=all",
# '-Ztime-passes',
# '-Ztime-llvm-passes',
#]
2024-01-16 19:49:44 -05:00
2024-05-09 15:59:08 -07:00
###############################################################################
#
# Developer profile
#
2024-01-13 14:29:18 -05:00
2024-05-09 15:59:08 -07:00
# To enable hot-reloading:
# 1. Uncomment all of the rustflags here.
2025-03-06 18:12:54 -05:00
# 2. Uncomment crate-type=dylib in src/*/Cargo.toml
2024-05-09 15:59:08 -07:00
#
# opt-level, mir-opt-level, validate-mir are not known to interfere with reloading
# and can be raised if build times are tolerable.
2024-03-09 15:49:51 -05:00
2024-05-09 15:59:08 -07:00
[ profile . dev ]
2024-09-07 18:09:21 +02:00
debug = "full"
2024-05-09 15:59:08 -07:00
opt-level = 0
panic = "unwind"
debug-assertions = true
incremental = true
#rustflags = [
2024-12-14 21:58:01 -05:00
# '--cfg', 'conduwuit_mods',
2024-05-09 15:59:08 -07:00
# '-Ztime-passes',
# '-Zmir-opt-level=0',
# '-Zvalidate-mir=false',
# '-Ztls-model=global-dynamic',
# '-Cprefer-dynamic=true',
# '-Zstaticlib-prefer-dynamic=true',
# '-Zstaticlib-allow-rdylib-deps=true',
# '-Zpacked-bundled-libs=false',
# '-Zplt=true',
# '-Crpath=true',
# '-Clink-arg=-Wl,--as-needed',
# '-Clink-arg=-Wl,--allow-shlib-undefined',
# '-Clink-arg=-Wl,-z,keep-text-section-prefix',
# '-Clink-arg=-Wl,-z,lazy',
#]
2024-12-14 21:58:01 -05:00
[ profile . dev . package . conduwuit_core ]
2024-05-09 15:59:08 -07:00
inherits = "dev"
#rustflags = [
2024-12-14 21:58:01 -05:00
# '--cfg', 'conduwuit_mods',
2024-05-09 15:59:08 -07:00
# '-Ztime-passes',
# '-Zmir-opt-level=0',
# '-Ztls-model=initial-exec',
# '-Cprefer-dynamic=true',
# '-Zstaticlib-prefer-dynamic=true',
# '-Zstaticlib-allow-rdylib-deps=true',
# '-Zpacked-bundled-libs=false',
# '-Zplt=true',
# '-Clink-arg=-Wl,--as-needed',
# '-Clink-arg=-Wl,--allow-shlib-undefined',
# '-Clink-arg=-Wl,-z,lazy',
# '-Clink-arg=-Wl,-z,unique',
# '-Clink-arg=-Wl,-z,nodlopen',
# '-Clink-arg=-Wl,-z,nodelete',
#]
2025-07-06 21:59:20 +01:00
[ profile . dev . package . xtask-generate-commands ]
2025-05-24 00:28:09 +01:00
inherits = "dev"
2024-12-14 21:58:01 -05:00
[ profile . dev . package . conduwuit ]
2024-05-09 15:59:08 -07:00
inherits = "dev"
#rustflags = [
2024-12-14 21:58:01 -05:00
# '--cfg', 'conduwuit_mods',
2024-05-09 15:59:08 -07:00
# '-Ztime-passes',
# '-Zmir-opt-level=0',
# '-Zvalidate-mir=false',
# '-Ztls-model=global-dynamic',
# '-Cprefer-dynamic=true',
# '-Zexport-executable-symbols=true',
# '-Zplt=true',
# '-Crpath=true',
# '-Clink-arg=-Wl,--as-needed',
# '-Clink-arg=-Wl,--allow-shlib-undefined',
# '-Clink-arg=-Wl,--export-dynamic',
# '-Clink-arg=-Wl,-z,lazy',
#]
[ profile . dev . package . '*' ]
inherits = "dev"
debug = 'limited'
codegen-units = 1
opt-level = 'z'
#rustflags = [
2024-12-14 21:58:01 -05:00
# '--cfg', 'conduwuit_mods',
2024-05-09 15:59:08 -07:00
# '-Ztls-model=global-dynamic',
# '-Cprefer-dynamic=true',
# '-Zstaticlib-prefer-dynamic=true',
# '-Zstaticlib-allow-rdylib-deps=true',
# '-Zpacked-bundled-libs=true',
# '-Zplt=true',
# '-Clink-arg=-Wl,--as-needed',
# '-Clink-arg=-Wl,-z,lazy',
# '-Clink-arg=-Wl,-z,nodelete',
#]
2024-07-25 18:06:45 -04:00
# primarily used for CI
2024-05-09 15:59:08 -07:00
[ profile . test ]
2024-07-25 18:06:45 -04:00
inherits = "dev"
2024-10-24 20:47:51 -04:00
strip = false
opt-level = 0
2024-07-25 18:06:45 -04:00
codegen-units = 16
[ profile . test . package . '*' ]
inherits = "dev"
debug = 0
2024-10-24 20:47:51 -04:00
strip = false
opt-level = 0
2024-07-25 18:06:45 -04:00
codegen-units = 16
2024-01-13 14:29:18 -05:00
2024-06-01 09:20:37 +00:00
###############################################################################
#
# Linting
#
2024-03-05 23:51:45 -05:00
2024-06-01 09:20:37 +00:00
[ workspace . lints . rust ]
absolute-paths-not-starting-with-crate = "warn"
2024-06-03 06:54:58 +00:00
#box-pointers = "warn"
2024-06-01 09:20:37 +00:00
deprecated-in-future = "warn"
elided-lifetimes-in-paths = "warn"
explicit-outlives-requirements = "warn"
ffi-unwind-calls = "warn"
keyword-idents = "warn"
macro-use-extern-crate = "warn"
meta-variable-misuse = "warn"
missing-abi = "warn"
#missing-copy-implementations = "warn" # TODO
#missing-debug-implementations = "warn" # TODO
non-ascii-idents = "warn"
rust-2021-incompatible-closure-captures = "warn"
rust-2021-incompatible-or-patterns = "warn"
rust-2021-prefixes-incompatible-syntax = "warn"
rust-2021-prelude-collisions = "warn"
single-use-lifetimes = "warn"
2024-06-03 10:44:46 +00:00
trivial-casts = "warn"
2024-06-01 09:20:37 +00:00
trivial-numeric-casts = "warn"
unit-bindings = "warn"
#unnameable-types = "warn" # TODO
unreachable-pub = "warn"
unsafe-op-in-unsafe-fn = "warn"
unstable-features = "warn"
unused-extern-crates = "warn"
unused-import-braces = "warn"
unused-lifetimes = "warn"
unused-macro-rules = "warn"
unused-qualifications = "warn"
#unused-results = "warn" # TODO
## some sadness
2024-10-27 00:30:30 +00:00
elided_named_lifetimes = "allow" # TODO!
2024-06-01 09:20:37 +00:00
let_underscore_drop = "allow"
missing_docs = "allow"
2024-05-19 13:02:55 +00:00
# cfgs cannot be limited to expected cfgs or their de facto non-transitive/opt-in use-case e.g.
# tokio_unstable will warn.
unexpected_cfgs = "allow"
2024-06-01 09:20:37 +00:00
# this seems to suggest broken code and is not working correctly
unused_braces = "allow"
# buggy, but worth checking on occasionally
unused_crate_dependencies = "allow"
unsafe_code = "allow"
variant_size_differences = "allow"
2024-05-19 13:02:55 +00:00
2025-03-11 23:05:56 -04:00
# we check nightly clippy lints
unknown_lints = "allow"
2024-06-01 09:20:37 +00:00
#######################################
#
# Clippy lints
#
2024-03-23 14:38:15 -04:00
2024-01-13 14:29:18 -05:00
[ workspace . lints . clippy ]
2024-06-01 09:20:37 +00:00
###################
2024-07-25 19:43:48 -04:00
cargo = { level = "warn" , priority = -1 }
2024-06-01 09:20:37 +00:00
## some sadness
multiple_crate_versions = { level = "allow" , priority = 1 }
###################
2024-07-25 19:43:48 -04:00
complexity = { level = "warn" , priority = -1 }
2024-06-01 09:20:37 +00:00
###################
2024-07-25 19:43:48 -04:00
correctness = { level = "warn" , priority = -1 }
2024-06-01 09:20:37 +00:00
###################
2024-07-25 19:43:48 -04:00
nursery = { level = "warn" , priority = -1 }
2024-06-01 09:20:37 +00:00
2024-06-03 06:54:58 +00:00
## some sadness
2024-06-01 09:20:37 +00:00
missing_const_for_fn = { level = "allow" , priority = 1 } # TODO
option_if_let_else = { level = "allow" , priority = 1 } # TODO
redundant_pub_crate = { level = "allow" , priority = 1 } # TODO
significant_drop_in_scrutinee = { level = "allow" , priority = 1 } # TODO
significant_drop_tightening = { level = "allow" , priority = 1 } # TODO
###################
2024-07-25 19:43:48 -04:00
pedantic = { level = "warn" , priority = -1 }
2024-06-01 09:20:37 +00:00
## some sadness
2024-10-24 20:47:51 -04:00
too_long_first_doc_paragraph = { level = "allow" , priority = 1 }
2024-06-16 00:25:49 +00:00
doc_markdown = { level = "allow" , priority = 1 }
2024-07-06 06:50:29 +00:00
enum_glob_use = { level = "allow" , priority = 1 }
2024-06-16 00:25:49 +00:00
if_not_else = { level = "allow" , priority = 1 }
if_then_some_else_none = { level = "allow" , priority = 1 }
inline_always = { level = "allow" , priority = 1 }
2025-01-18 12:05:07 +00:00
match_bool = { level = "allow" , priority = 1 }
2024-06-16 00:25:49 +00:00
missing_docs_in_private_items = { 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 }
2025-02-25 18:38:12 +00:00
needless_continue = { level = "allow" , priority = 1 }
2024-06-16 00:25:49 +00:00
no_effect_underscore_binding = { level = "allow" , priority = 1 }
2024-06-01 09:20:37 +00:00
similar_names = { level = "allow" , priority = 1 }
2024-08-08 17:18:30 +00:00
single_match_else = { level = "allow" , priority = 1 }
2025-03-28 23:34:42 +00:00
struct_excessive_bools = { level = "allow" , priority = 1 }
2024-06-01 09:20:37 +00:00
struct_field_names = { level = "allow" , priority = 1 }
unnecessary_wraps = { level = "allow" , priority = 1 }
unused_async = { level = "allow" , priority = 1 }
###################
2024-07-25 19:43:48 -04:00
perf = { level = "warn" , priority = -1 }
2024-06-01 09:20:37 +00:00
###################
#restriction = "warn"
2024-07-28 01:03:08 +00:00
#allow_attributes = "warn" # UNSTABLE
2024-07-07 04:46:16 +00:00
arithmetic_side_effects = "warn"
2024-07-07 06:17:58 +00:00
as_conversions = "warn"
2024-07-07 11:20:03 +00:00
as_underscore = "warn"
2024-03-18 20:26:32 -04:00
assertions_on_result_states = "warn"
2024-06-01 09:20:37 +00:00
dbg_macro = "warn"
2024-03-02 17:17:27 -05:00
default_union_representation = "warn"
deref_by_slicing = "warn"
empty_drop = "warn"
2024-06-01 09:20:37 +00:00
empty_structs_with_brackets = "warn"
2024-03-02 17:17:27 -05:00
exit = "warn"
filetype_is_file = "warn"
float_cmp_const = "warn"
2024-06-01 09:20:37 +00:00
fn_to_numeric_cast_any = "warn"
2024-03-02 17:33:46 -05:00
format_push_string = "warn"
2024-06-01 09:20:37 +00:00
get_unwrap = "warn"
2024-03-02 17:17:27 -05:00
impl_trait_in_params = "warn"
2024-06-01 09:20:37 +00:00
let_underscore_untyped = "warn"
2024-03-02 17:17:27 -05:00
lossy_float_literal = "warn"
mem_forget = "warn"
2024-03-02 18:14:45 -05:00
missing_assert_message = "warn"
2024-03-02 17:17:27 -05:00
mutex_atomic = "warn"
2024-06-01 09:20:37 +00:00
pub_without_shorthand = "warn"
rc_buffer = "warn"
rc_mutex = "warn"
redundant_type_annotations = "warn"
rest_pat_in_fully_bound_structs = "warn"
2024-03-02 20:55:02 -05:00
semicolon_outside_block = "warn"
2024-06-01 09:20:37 +00:00
str_to_string = "warn"
2024-03-02 17:17:27 -05:00
string_lit_chars_any = "warn"
2024-07-08 16:30:59 +00:00
string_slice = "warn"
2024-06-01 09:20:37 +00:00
string_to_string = "warn"
2024-03-02 17:17:27 -05:00
suspicious_xor_used_as_pow = "warn"
2024-06-01 09:20:37 +00:00
tests_outside_test_module = "warn"
2024-03-02 17:17:27 -05:00
try_err = "warn"
2024-06-01 09:20:37 +00:00
undocumented_unsafe_blocks = "warn"
2024-03-02 17:17:27 -05:00
unnecessary_safety_comment = "warn"
unnecessary_safety_doc = "warn"
unnecessary_self_imports = "warn"
2024-06-01 09:20:37 +00:00
unneeded_field_pattern = "warn"
unseparated_literal_suffix = "warn"
2024-07-07 11:20:03 +00:00
#unwrap_used = "warn" # TODO
2024-03-02 17:17:27 -05:00
verbose_file_reads = "warn"
2024-03-23 14:38:15 -04:00
2024-06-01 09:20:37 +00:00
###################
2024-07-25 19:43:48 -04:00
style = { level = "warn" , priority = -1 }
2024-06-01 09:20:37 +00:00
2024-06-04 23:51:02 +00:00
## some sadness
# trivial assertions are quite alright
2024-06-16 00:25:49 +00:00
assertions_on_constants = { level = "allow" , priority = 1 }
2024-07-27 23:25:13 +00:00
module_inception = { level = "allow" , priority = 1 }
2025-02-25 18:38:12 +00:00
obfuscated_if_else = { level = "allow" , priority = 1 }
2024-06-04 23:51:02 +00:00
2024-06-01 09:20:37 +00:00
###################
2024-07-25 19:43:48 -04:00
suspicious = { level = "warn" , priority = -1 }
2024-06-01 09:20:37 +00:00
## some sadness
2024-06-16 00:25:49 +00:00
let_underscore_future = { level = "allow" , priority = 1 }
2025-02-23 01:17:30 -05:00
# rust doesnt understand conduwuit's custom log macros
literal_string_with_formatting_args = { level = "allow" , priority = 1 }
2025-05-11 20:03:14 +01:00
needless_raw_string_hashes = "allow"