Question about ModuleOp's SymbolOpInterface

have one question: isa (op) is false, the op is ModuleOp, why?

and op->hasTrait mlir::SymbolOpInterface::Trait () is true

This is a wrinkle of ModuleOp: it conditionally implements the interface, if it has a name then isa returns true, otherwise it does not. The symbol is optional.

Hi Amini
clearly, thanks for your quick reply