clang-tidy currently reports false positives even for simple cases such as:
struct S {
    using X = S;
    X &operator=(const X&) { return *this; }
};This is due to the fact that the misc-unconventional-assign-operator check fails to look at the canonical types. This patch fixes this behavior.