Inconsistent use of boolean to report success or failure in the LLVM code base was mentioned couple of times, one example: https://lists.llvm.org/pipermail/llvm-dev/2018-September/126182.html
S-u-m-m-a-r-y:
- mlir::LogicalResult moved to llvm::LogicalResult (llvm/Support/LogicalResult.h)
- mlir::FailureOr moved to llvm::FailureOr
- mlir defines aliases to bring them back into the mlir namespace
- mlir::ParseResult stays in the mlir/Support/LogicalResult.h because it's very MLIR specific
LogicalResult seems like a misnomer -- isn't bool already a logical result?
If possible, I think you want a name that conveys that this is specifically about success/failure.