!FBuJyWXTGcGtHTPphC:nixos.org

Nix Rust

694 Members
Rust155 Servers

Load older messages


SenderMessageTime
17 Jan 2026
@angleangleside:matrix.orgasai understand -O2 and no LTO by default for c/c++ packages since they could rely on UB that's broken by further optimization, but since the entire rust ecosystem defaults to -03 and thin lto (and rust programs usually don't violate the language's vm), it seems reasonable for that to be the default in nixpkgs as well22:18:17
@k900:0upti.meK900Rust ecosystem does not default to -O322:21:14
@k900:0upti.meK900Rust's optimization levels don't really map to C++ conventions22:21:23
@k900:0upti.meK900 And even -C opt-level=3 is different from -O3 22:21:39
@k900:0upti.meK900And no, Cargo does not default to thinlto22:22:24
@k900:0upti.meK900https://doc.rust-lang.org/cargo/reference/profiles.html#release22:22:24
@k900:0upti.meK900
[profile.release]
opt-level = 3
debug = false
split-debuginfo = '...'  # Platform-specific.
strip = "none"
debug-assertions = false
overflow-checks = false
lto = false
panic = 'unwind'
incremental = false
codegen-units = 16
rpath = false
22:22:39
@angleangleside:matrix.orgasaoh I see22:28:03
@angleangleside:matrix.orgasasorry for the misunderstanding, I'm not sure where I read the thin lto by default thing22:28:31
@angleangleside:matrix.orgasathe profiles page you linked to does say that lto=false is different from lto=off though, and that lto=false enables "thin local lto"22:29:54
@k900:0upti.meK900 That should be our default as well, as I don't think we explicitly pass lto=false? 22:39:17
@whispers:catgirl.cloudwhispers (it/fae)i think we just inherit whatever upstream has profile.release set to?22:42:20
@angleangleside:matrix.orgasaprobably is? idk how rustc deals with default options22:42:21
@whispers:catgirl.cloudwhispers (it/fae) * 22:42:42
@whispers:catgirl.cloudwhispers (it/fae) * 22:43:12
@angleangleside:matrix.orgasa
In reply to @k900:0upti.me
And even -C opt-level=3 is different from -O3
never thought about this but I guess it's a good thing rust release builds don't use fast-math by default...
22:44:11
@angleangleside:matrix.orgasa

i looked into this more and it seems thin local lto is redundant with codegen-units=1 anyway (and rustc disables thin local lto if codegen-units=1 and the lto level is unspecified)

buildRustCrate has defaultCodegenUnits ? 1 since the derivation doesn't allow for rebuilds on a higher granularity than per-crate anyway

23:28:51
18 Jan 2026
@debtquity:matrix.orgdebtquitydynamic derivations00:21:58
@debtquity:matrix.orgdebtquity?00:21:59
29 Oct 2021
@grahamc:nixos.org@grahamc:nixos.org set the history visibility to "world_readable".19:57:43
@grahamc:nixos.org@grahamc:nixos.org changed the room name to "" from "".19:57:43
@grahamc:nixos.org@grahamc:nixos.org changed the room topic to "" from "".19:57:43
@server_stats:nordgedanken.devServer Stats Discoverer (traveler bot) joined the room.19:58:21
@voyager:t2bot.ioMatrix Traveler (bot) joined the room.19:59:14
@ralith:ralith.comRalith joined the room.20:00:28
@grahamc:nixos.org@grahamc:nixos.orgchanged room power levels.20:00:52
@grahamc:nixos.org@grahamc:nixos.org invited @mjolnir:nixos.orgNixOS Moderation Bot.20:01:04
@mjolnir:nixos.orgNixOS Moderation Bot joined the room.20:01:05
@grahamc:nixos.org@grahamc:nixos.orgchanged room power levels.20:01:08
Room Avatar Renderer.20:02:40

Show newer messages


Back to Room ListRoom Version: 6