qdk icon indicating copy to clipboard operation
qdk copied to clipboard

Q# 2.0 Tracking Issue

Open sezna opened this issue 1 year ago • 1 comments

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 set keyword (see https://github.com/microsoft/qsharp/issues/1496) (#2062)
  • [ ] remove ... syntax from specialization definitions
  • [ ] asterisk syntax on functors

sezna avatar Dec 02 '24 21:12 sezna

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:

  1. A lint warning will inform the user that something is deprecated.
  2. The v2-preview-syntax feature flag allows the user to opt-in to v2 syntax, meaning that the aforementioned lints become compile errors.
  3. 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.
  4. 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.

sezna avatar Dec 09 '24 21:12 sezna