You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When cargo-pgo is used, the [build.rustflags] of .cargo\config.toml are ignored. Lto in cargo.toml seems to be ignored as well, judging by performance. The only way to pass flags seems to be through the RUSTFLAGS environment variable.
The text was updated successfully, but these errors were encountered:
The only thing that cargo-pgo does when you execute cargo pgo build is basically that it runs
$ RUSTFLAGS="-Cprofile-generate=..." cargo build
so values from config.toml and Cargo.toml should be respected.
That being said, it looks like if you use RUSTFLAGS , it will override the [build.rustflags] section (rust-lang/cargo#5376). This is the standard behaviour of cargo, so I'm not sure whether we can do anything about it. cargo-pgo could in theory parse the config.toml file, but that would reimplement what cargo does and it would deviate from the default behaviour of cargo.
For now I think that your best bet is to pass these flags using RUSTFLAGS. In any case, the LTO section from Cargo.toml should definitely be applied, if it's not, something is wrong.
I can't reproduce the LTO issue anymore. It was probably just a benchmark inconsistency. (I couldn't find any way to check directly.) The RUSTFLAGS issue is definitely real, but I will probably just use the environment variable.
When
cargo-pgo
is used, the[build.rustflags]
of.cargo\config.toml
are ignored. Lto incargo.toml
seems to be ignored as well, judging by performance. The only way to pass flags seems to be through theRUSTFLAGS
environment variable.The text was updated successfully, but these errors were encountered: