Files
matrix-authentication-service/clippy.toml
T
Quentin Gliech e8c0a3b446 Force using the extension trait for building ULIDs
This adds a Clippy config to disallow a few builtin methods from the ULID crate
to prefer our extension trait instead.
2026-06-22 14:46:55 +02:00

29 lines
1.8 KiB
TOML

# Copyright 2025 New Vector Ltd.
#
# SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
# Please see LICENSE files in the repository root for full details.
doc-valid-idents = ["OpenID", "OAuth", "UserInfo", "..", "PostgreSQL", "SQLite"]
disallowed-methods = [
{ path = "rand::thread_rng", reason = "do not create rngs on the fly, pass them as parameters" },
{ path = "chrono::Utc::now", reason = "source the current time from the clock instead" },
# ulid's own constructors/accessors below either use ulid's (separate) `rand`
# or its `std`-only SystemTime API. Use `mas_data_model::UlidExt` instead so our
# ULID generation stays on the workspace `rand` and `chrono`.
{ path = "ulid::Ulid::new", reason = "use mas_data_model::UlidExt::from_datetime_with_rng instead" },
{ path = "ulid::Ulid::with_source", reason = "use mas_data_model::UlidExt::from_datetime_with_rng instead" },
{ path = "ulid::Ulid::from_datetime", reason = "use mas_data_model::UlidExt::from_datetime_with_rng instead" },
{ path = "ulid::Ulid::from_datetime_with_source", reason = "use mas_data_model::UlidExt::from_datetime_with_rng instead" },
{ path = "ulid::Ulid::datetime", reason = "use mas_data_model::UlidExt::datetime_utc instead" },
{ path = "reqwest::Client::new", reason = "use mas_http::reqwest_client instead" },
{ path = "reqwest::RequestBuilder::send", reason = "use send_traced instead" },
]
disallowed-types = [
{ path = "std::path::PathBuf", reason = "use camino::Utf8PathBuf instead" },
{ path = "std::path::Path", reason = "use camino::Utf8Path instead" },
{ path = "axum::extract::Query", reason = "use axum_extra::extract::Query instead. The built-in version doesn't deserialise lists."},
{ path = "axum::extract::rejection::QueryRejection", reason = "use axum_extra::extract::QueryRejection instead"}
]