qdk
qdk copied to clipboard
Q# 2.0 Tracking Issue
This issue tracks the tasks we'd like to have done before the release of Q# 2.0.
- [ ] #2048
- [ ] Deprecate Explicit Namespaces (no issue yet)
- [ ] Deprecate use qubit blocks
- [ ] Deprecate
w/syntax - [ ] Old UDT syntax
- [ ] Deprecate
Microsoft.Quantum.*libraries - [x] remove
setkeyword (see https://github.com/microsoft/qsharp/issues/1496) (#2062) - [ ] remove
...syntax from specialization definitions - [ ] asterisk syntax on functors
Process of Upgrading Q# Syntax
For anything breaking, primarily the removal or modification of existing Q# syntax, we want to be in the following state before Q# 2.0:
- A lint warning will inform the user that something is deprecated.
- The v2-preview-syntax feature flag allows the user to opt-in to v2 syntax, meaning that the aforementioned lints become compile errors.
- There needs to be a clearly documented path to go from deprecated syntax to v2 syntax. Ideally, there's also a quick fix attached to the lint to make this even easier.
- Update our libraries to reflect the change and make sure they use best practices.
We should define a minimum deprecation time period such that items are deprecated for at least that long before they are removed. During this period, there should also be new syntax available.