qsharp-compiler
qsharp-compiler copied to clipboard
Allow marking Q# functions and operations as unstable / experimental
Is your feature request related to a problem? Please describe. It would be helpful to be able to mark Q# functions or operations as experimental and/or unstable, raising a warning unless a user explicitly opts-in to unstable features. In particular, this would help accelerate libraries development by letting us get feedback on draft and prototype versions of new features, and would allow us to accept experimental features without necessarily blocking on API review.
Describe the solution you'd like
A new attribute, @Unstable(), that could be applied to functions, operations, or UDT declarations, and a new <AllowUnstable> MSBuild property that allows opt-in to using unstable features without warnings.
Describe alternatives you've considered
It may be helpful as well to add @Stable for marking which version features first became stable in (similar to Rust's #[stable("1.x.y")] attribute).
Sounds reasonable to me.
Sounds reasonable to me.
Great, thank you! If it's alright, then, I'll get an API proposal for the attribute going so that that isn't blocking an implementation. ♥