diff options
author | Yorick van Pelt <yorick@yorickvanpelt.nl> | 2023-08-11 11:58:33 +0200 |
---|---|---|
committer | Yorick van Pelt <yorick@yorickvanpelt.nl> | 2023-08-11 11:58:33 +0200 |
commit | b9b51f9579c15c9789814cd4b6969b0f85e13980 (patch) | |
tree | 8d201ba2061e244b139057abd0ca5273f443095c /src/libmain | |
parent | a1fdc68c655e8d7ece51b6c84796d35203386c87 (diff) |
Prevent overriding virtual methods that are called in a destructor
Virtual methods are no longer valid once the derived destructor has
run. This means the compiler is free to optimize them to be
non-virtual.
Found using clang-tidy
Diffstat (limited to 'src/libmain')
-rw-r--r-- | src/libmain/progress-bar.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libmain/progress-bar.cc b/src/libmain/progress-bar.cc index 6600ec177..45b1fdfd1 100644 --- a/src/libmain/progress-bar.cc +++ b/src/libmain/progress-bar.cc @@ -108,7 +108,8 @@ public: stop(); } - void stop() override + /* Called by destructor, can't be overridden */ + void stop() override final { { auto state(state_.lock()); |