[workspace]
-members = [ "crates/*" ]
+members = [ "crates/*", "xtask/" ]
+
+[profile.dev]
+# disabling debug info speeds up builds a bunch,
+# and we don't rely on it for debugging that much.
+debug = 0
[profile.release]
incremental = true
-debug = true
+debug = 0 # set this to 1 or 2 to get more useful backtraces in debugger
+
+# ideally, we would use `build-override` here, but some crates are also
+# needed at run-time and we end up compiling them twice
+[profile.release.package.proc-macro2]
+opt-level = 0
+[profile.release.package.quote]
+opt-level = 0
+[profile.release.package.syn]
+opt-level = 0
+[profile.release.package.serde_derive]
+opt-level = 0
+[profile.release.package.chalk-derive]
+opt-level = 0
+[profile.release.package.chalk-macros]
+opt-level = 0
+[profile.release.package.salsa-macros]
+opt-level = 0
+[profile.release.package.xtask]
+opt-level = 0
[patch.'crates-io']
-lsp-types = { git = "https://github.com/matklad/lsp-types", branch = "selection-range" }
+# rowan = { path = "../rowan" }
+
+[patch.'https://github.com/rust-lang/chalk.git']
+# chalk-solve = { path = "../chalk/chalk-solve" }
+# chalk-rust-ir = { path = "../chalk/chalk-rust-ir" }
+# chalk-ir = { path = "../chalk/chalk-ir" }