clang-tidy:正确使用后缀运算符++

Mis*_*ill 5 c++ clang-tidy

我有一个自定义的前向迭代器类型。它声明(除其他外):

Iter& operator++();
Iter operator++(int);
Run Code Online (Sandbox Code Playgroud)

clang-tidy 抱怨 cert-dcl21-cpp(Clang-Tidy:重载的“operator++”返回一个非常量对象而不是一个常量对象类型)

现在,虽然我很天真,但我将声明更改为

Iter& operator++();
Iter const operator++(int);
Run Code Online (Sandbox Code Playgroud)

好吧,它现在抱怨 readability-const-return-type(返回类型 'const IndexAtomListPtr::Iter' 在顶层是 'const'-qualified,这可能会降低代码可读性而不提高 const 正确性)

我怎样才能满足clang-tidy?

相关问题的答案:重载的“operator++”返回一个非常量,并且clang-tidy抱怨是不够的,因为这正是我尝试过的,但得到了可读性-const-return-type抱怨