[Mlir-commits] [mlir] [MLIR][IRDL][Python] Fix error while composing `irdl.any_of` and `irdl.base` (PR #187914)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Sun Mar 22 17:42:06 PDT 2026


================
@@ -736,3 +736,44 @@ class AssignNoneOnNonOptionalOp(
     except ValueError as e:
         # CHECK: only optional operand can be a keyword parameter
         print(e)
+
+
+# CHECK: TEST: testExtDialectWithAttrInOp
+ at run
+def testExtDialectWithAttrInOp():
+    class TestAttrInOp(Dialect, name="ext_attr_in_op"):
+        pass
+
+    class OpWithAttr(TestAttrInOp.Operation, name="op_with_attr"):
+        a: IntegerAttr | StringAttr
+        b: IntegerType[32] | IntegerType[64]
----------------
PragmaTwice wrote:

Yup this is a "feature" of IRDL that TypeAttr can be implicit. We just didn't forbid it for now.

> we would instead write b: TypeAttr[IntegerType[32] | IntegerType[64]]

Yah I can add some code to make it work.



https://github.com/llvm/llvm-project/pull/187914


More information about the Mlir-commits mailing list