Sirraide wrote: > Generally looks great. can you explain why the 2 or 3 `const_cast` are needed?
As in e.g. `FORWARD_TO_BASE()`? That’s because the RAV implementation for e.g. `TraverseStmt` accepts a `Stmt*`, but if `Const` is `true`, then `MaybeConst<Stmt> *` would be a `const Stmt*`, so we need to `const_cast` it to a `Stmt*` so we can pass it to the RAV implementation. https://github.com/llvm/llvm-project/pull/122991 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits