I’m excited about the multiple profile support; previously you could only have release and dev, now you can have variations.
For example, I’m shipping two versions of my code, one with debug assertions disabled and one with those enabled; the idea is if there’s a problem, people can rerun with the version that will catch problems earlier. Currently the version with debug assertions enabled is a full-on dev profile, more tuned for development than running potentially long-running process… but ideally it’d be tweaked version of the production profile.
I think a “small code” profile of some sort would be useful for many projects.
You could do that already with the optimization level. But previously you couldn’t easily build e.g. three variants (performance, small size, debug/test), you’d have to manually edit a config file or twiddle things to switch back and forth.
Exactly, this is what I meant. Most projects will want the normal “release” build, but I can see it being helpful to also have the “size” build profile.
A few good things here: compile-time assertions and fallible allocations are high on my list.