clang swap