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

Reply via email to