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.
Can you also add tests which use typedef instead of using? (They should just work as-is)