clang-tidy: Enable cppcoreguidelines-special-member-functions

The check finds classes where some but not all of the special member
functions are defined.

By default the compiler defines a copy constructor, copy assignment
operator, move constructor, move assignment operator and destructor.
The default can be suppressed by explicit user-definitions. The
relationship between which functions will be suppressed by
definitions of other functions is complicated and it is advised that
all five are defaulted or explicitly defined.

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Icbfd448b2bf78ebf99ec07b55220871e093cb899
diff --git a/.clang-tidy b/.clang-tidy
index 07ab870..1f35090 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -202,7 +202,8 @@
 cppcoreguidelines-pro-type-cstyle-cast,
 cppcoreguidelines-pro-type-static-cast-downcast,
 cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-slicing'
+cppcoreguidelines-slicing,
+cppcoreguidelines-special-member-functions'
 
 WarningsAsErrors: '*'
 HeaderFilterRegex: '.*'