diff --git a/src/bloqade/gemini/dialects/logical/_interface.py b/src/bloqade/gemini/dialects/logical/_interface.py index f93b3b27..b9bb692f 100644 --- a/src/bloqade/gemini/dialects/logical/_interface.py +++ b/src/bloqade/gemini/dialects/logical/_interface.py @@ -7,8 +7,8 @@ from .stmts import TerminalLogicalMeasurement -Len = TypeVar("Len", bound=int) -CodeN = TypeVar("CodeN", bound=int) +Len = TypeVar("Len") +CodeN = TypeVar("CodeN") @lowering.wraps(TerminalLogicalMeasurement) diff --git a/src/bloqade/gemini/dialects/logical/stmts.py b/src/bloqade/gemini/dialects/logical/stmts.py index e1a5684c..873c1bfd 100644 --- a/src/bloqade/gemini/dialects/logical/stmts.py +++ b/src/bloqade/gemini/dialects/logical/stmts.py @@ -6,8 +6,8 @@ from ._dialect import dialect -Len = types.TypeVar("Len", bound=types.Int) -CodeN = types.TypeVar("CodeN", bound=types.Int) +Len = types.TypeVar("Len") +CodeN = types.TypeVar("CodeN") @statement(dialect=dialect) diff --git a/test/gemini/test_logical_validation.py b/test/gemini/test_logical_validation.py index 736d49fa..cffff117 100644 --- a/test/gemini/test_logical_validation.py +++ b/test/gemini/test_logical_validation.py @@ -115,14 +115,20 @@ def invalid(): invalid.print(analysis=frame.entries) -def test_terminal_measurement(): - @gemini.logical.kernel(verify=False) +def test_qalloc_and_terminal_measure_type_valid(): + + @gemini.logical.kernel(aggressive_unroll=True) def main(): q = squin.qalloc(3) - m = gemini.logical.terminal_measure(q) - return m + gemini.logical.terminal_measure(q) - main.print() + validator = ValidationSuite([GeminiTerminalMeasurementValidation]) + validation_result = validator.validate(main) + + validation_result.raise_if_invalid() + + +def test_terminal_measurement(): @gemini.logical.kernel( verify=False, no_raise=False, aggressive_unroll=True, typeinfer=True