From 0d25ed08273ab3ddfc10e7d1df4d1514f28f8b8a Mon Sep 17 00:00:00 2001 From: "Stefan J. Wernli" Date: Thu, 22 Oct 2020 11:01:48 -0700 Subject: [PATCH] Fixing build break for IonQ when using MReset* --- src/Simulation/QsharpCore/Reset.qs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/Simulation/QsharpCore/Reset.qs b/src/Simulation/QsharpCore/Reset.qs index b62e4b114e5..f69ef1a6785 100644 --- a/src/Simulation/QsharpCore/Reset.qs +++ b/src/Simulation/QsharpCore/Reset.qs @@ -3,6 +3,7 @@ namespace Microsoft.Quantum.Measurement { open Microsoft.Quantum.Intrinsic; + open Microsoft.Quantum.Targeting; internal operation BasisChangeZtoY(target : Qubit) : Unit is Adj + Ctl { H(target); @@ -45,6 +46,10 @@ namespace Microsoft.Quantum.Measurement { /// /// # Output /// The result of measuring `target` in the Pauli $Z$ basis. + @RequiresCapability( + "BasicQuantumFunctionality", + "MResetZ is replaced by a supported implementation on all execution targets." + ) operation MResetZ (target : Qubit) : Result { let result = M(target); @@ -75,6 +80,10 @@ namespace Microsoft.Quantum.Measurement { /// /// # Output /// The result of measuring `target` in the Pauli $X$ basis. + @RequiresCapability( + "BasicQuantumFunctionality", + "MResetX is replaced by a supported implementation on all execution targets." + ) operation MResetX (target : Qubit) : Result { let result = Measure([PauliX], [target]); @@ -108,6 +117,10 @@ namespace Microsoft.Quantum.Measurement { /// /// # Output /// The result of measuring `target` in the Pauli $Y$ basis. + @RequiresCapability( + "BasicQuantumFunctionality", + "MResetY is replaced by a supported implementation on all execution targets." + ) operation MResetY (target : Qubit) : Result { let result = Measure([PauliY], [target]);