kelbon wrote: > I don't understand this example. If we change `bar(std::move(x))` to `bar(drop(x))`, `use(x)` uses `x` after it has been dropped. use(x) will be error > bugprone-use-after-move Its cland-tidy check, not clang itself, isnt it? https://github.com/llvm/llvm-project/pull/204318