<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/64971>64971</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            libc++: reverse_iterator operator== won't compile.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc++
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          huihzhang
      </td>
    </tr>
</table>

<pre>
    Failure triggered by https://reviews.llvm.org/D149543

Reduced test case 
```c++
#include <vector>

std::vector<bool> vec(3, true);

#define RI std::reverse_iterator<std::vector<bool>::iterator>
class D : public RI {
public:
        RI::iterator_type getCurrent() { return current; }
        D(bool a=true) {
                if (a)
 current = vec.begin();
                else
 current = vec.end();
        }
};

int test() {
    D x(true);
    D y(false);
    return std::operator==<std::vector<bool>::iterator>(x, y);
}
```

Compiler explorer: https://godbolt.org/z/ahM1PnTYr


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVEtvqzwQ_TXDZtQIxiGBBYskFKmLT_pU3c1dVTwm4CsHI9ukTX_9lQN5Sl1cy0rAwzlz5uXSWtn2zBnEW4jzoBxdp03WjbL77sq-DSrdnLKilGo0jM7ItmXDDVYn7JwbLIgNUAFUGD5K_rQLpY6HhTYtUJFHyzReCghzCDfT7zs3Y80NOrYO69IyztZVOO0aaOv3dEpC9rUaG0YQuyPXThsQr_eE1jVegthcrLtKawXiFY9cAyUCaIfOjAyUgtjeQ4FEw3vZM76_4ZXH8JGN5Q_p2JQT448-ptPbl7OyWpXWYo4gNjiMlZK19wDr2ft05LHnV5zX-9sj3Yc7DYwtu91oDPcOKAFKPQ0adqPpsZ4NYouwzh_ZcqDEq8QSRD7Hf5OAT0vuESgpfY4m-0yNIHKfyEXFrewnBdcsPpOwsvwDnPvmB_BVuH94rI_s3blPboHfoDl-ASXPdZ0sJ6BkX3oxT6Y5bddy6uFSuPy8_6XQlHz5zjo9tNU1lks334ez04dBKjbIX4PSho1vj8cZanVTaeXm8fkGKsruv-j__tdvc88UNJloUpGWAWfRKqWUxDqioMsojmsS1TpdxctVwvsqYUFMTZIuw3XcVIHMKCQRJhSHoYgjWqSRiOuoWVWc8j7hFSxDPpRSXcc4kNaOnK2W6ToKVFmxsuergkjJ6jKsRP7qMJkHvVRja2EZKmnd7TYInHSKszuM2ODzqOFjQfBT90Brh_WUuUUwGpU9ZUy6bqwWtT4AFd7Z_PcyGP2HawdUnAOwQMU5hr8BAAD__-geaL8">