[workspace] members = [ "AK/Rust", "Libraries/LibCompositing/Rust", "Libraries/LibCompress/Rust", "Libraries/LibCrypto/Rust", "Libraries/LibGfx/Rust", "Libraries/LibHTTP/Rust", "Libraries/LibImageDecoders/Rust", "Libraries/LibIPC/Rust", "Libraries/LibJS/ABI", "Libraries/LibJS/JIT/Rust", "Libraries/LibJS/Rust", "Libraries/LibJS/Rust/embedding_headers", "Libraries/LibJS/Rust/macros", "Libraries/LibRegex/Rust", "Libraries/LibTextCodec/Rust", "Libraries/LibUnicode/Rust", "Libraries/LibURL/Rust", "Libraries/LibWasm/Engine", "Libraries/LibWasm/JIT", "Libraries/LibWasm/Module", "Libraries/LibWebCommon/Rust", "Libraries/LibWeb/Bindings/Rust", "Libraries/LibWeb/ContentBlocker/Rust", "Libraries/LibWeb/Rust", "Libraries/LibWeb/HTML/Parser/Rust", "Libraries/LibWebRTC/Rust", "Libraries/RustAllocator", "Services/Compositor/Rust", "Services/WebRTCClient", "Tests/LibIPC/RustEchoServer", ] exclude = [ "Libraries/LibJS/Flap", ] resolver = "2" [profile.release] panic = "abort" [profile.distribution] inherits = "release" incremental = false codegen-units = 1 lto = true # flapc only runs from build scripts, which cargo leaves unoptimized. It generates whole interpreters, so that is slow. [profile.release.package.flapc] opt-level = 3 [profile.dev.package.flapc] opt-level = 3 # Line tables keep file and line numbers in panic backtraces. Full debug info doubles the time to build the tests. [profile.test] debug = "line-tables-only" [workspace.lints.rust] unexpected_cfgs = { level = "deny", check-cfg = ["cfg(ladybird_gc_lints)"] } [workspace.lints.clippy] all = "deny" # includes lintgroups: correctness, suspicious, style, complexity, perf # from clippy:nursery: redundant_clone = "deny" # from clippy:pedantic: uninlined_format_args = "deny" semicolon_if_nothing_returned = "deny" manual_let_else = "deny" unnecessary_wraps = "deny" manual_assert = "deny" ref_option = "deny" elidable_lifetime_names = "deny" unnested_or_patterns = "deny" borrow_as_ptr = "deny" explicit_iter_loop = "deny"