Code compiles on playground but fails when passed via stdin to rustc
MusicalNinjaDad:
The toolchain version is decided by whoever is compiling the final binary.
Which is me, I only care about build probes when they execute on my system (maybe because I'm developing an application, maybe when I'm compiling the tests for my library).
MusicalNinjaDad:
If that's you in this case - how are you being forced to use an experimental nightly feature?
Because I use a nightly compiler to take advantage of unstable toolchain features that don't impact the code, just improve the developer experience e.g. Cargo's workspace-feature-unification. But dependencies see that I am using a nightly compiler and attempt to use other unstable library or compiler features that I don't want them to.
MusicalNinjaDad:
As a lib developer I may want to provide additional functionality which requires experimental nightly features
And you still can, you should just provide a way to allow users to opt-in to this (e.g. via --cfg flags or environment variables). If users do not, don't just assume you can use them (since build probes are commonly wrong and cause compilation failures, e.g. latest instance of this I've found).
MusicalNinjaDad:
The fewer people use nightly experimental features, the longer it takes to get meaningful feedback on them and the slower the language develops.
If I do not know that a dependency of mine has enabled an unstable feature, I am not going to give feedback on it anyway. By surfacing the feature as something the final developer actually enables that gives you a chance to link to the tracking issue and suggest they go leave feedback if they use it.
Discussion in the ATmosphere