[workspace] members = [ "crates/compiler/ident", "crates/compiler/region", "crates/compiler/collections", "crates/compiler/exhaustive", "crates/compiler/module", "crates/compiler/parse", "crates/compiler/can", "crates/compiler/problem", "crates/compiler/solve_problem", "crates/compiler/types", "crates/compiler/builtins", "crates/compiler/constrain", "crates/compiler/unify", "crates/compiler/solve", "crates/compiler/late_solve", "crates/compiler/fmt", "crates/compiler/derive_key", "crates/compiler/intern", "crates/compiler/mono", "crates/compiler/alias_analysis", "crates/compiler/test_mono", "crates/compiler/test_derive", "crates/compiler/load", "crates/compiler/load_internal", "crates/compiler/gen_llvm", "crates/compiler/gen_dev", "crates/compiler/gen_wasm", "crates/compiler/build", "crates/compiler/arena_pool", "crates/compiler/test_gen", "crates/compiler/roc_target", "crates/compiler/debug_flags", "crates/vendor/inkwell", "crates/vendor/pathfinding", "crates/vendor/pretty", "crates/glue", "crates/editor", "crates/ast", "crates/cli", "crates/code_markup", "crates/highlight", "crates/error_macros", "crates/reporting", "crates/repl_cli", "crates/repl_eval", "crates/repl_test", "crates/repl_wasm", "crates/repl_expect", "crates/test_utils", "crates/tracing", "crates/utils", "crates/docs", "crates/docs_cli", "crates/linker", "crates/wasi-libc-sys", ] exclude = [ # Examples sometimes have Rust hosts in their platforms. The compiler should ignore those. "examples", "ci/bench-runner", # Ignore building these normally. They are only imported by tests. # The tests will still correctly build them. "crates/cli_utils", "crates/compiler/test_mono_macros", # `cargo build` would cause roc_std to be built with default features which errors on windows "crates/roc_std", ] # Needed to be able to run `cargo run -p roc_cli --no-default-features` - # see www/build.sh for more. # # Without the `-p` flag, cargo ignores `--no-default-features` when you have a # workspace, and without `resolver = "2"` here, you can't use `-p` like this. resolver = "2" # Optimizations based on https://deterministic.space/high-performance-rust.html [profile.release] lto = "thin" codegen-units = 1 # debug = true # enable when profiling [profile.bench] lto = "thin" codegen-units = 1