`[[nodiscard]]` should be applied to functions where discarding the return value is most likely a correctness issue. - https://libcxx.llvm.org/CodingGuidelines.html There appears to be an issue with annotating `operator*` and `operator/`, see: https://llvm.org/PR171031 --------- Co-authored-by: A. Jiang <de34@live.cn>