Hurei I got the backtrace:
```
(gdb) run
Starting program: /usr/local/bin/include-what-you-use -H -DFMT_SHARED -I/cmake-general/tests/project/src -I/cmake-general/tests/build -isystem /home/developer/.conan/data/fmt/8.0.1/_/_/package/6bdf91372b96de070e8534b0df31b9e6c83f8737/include -g -stdlib=libstdc++ -fcolor-diagnostics -Wall -Wextra -Wshadow -Wnon-virtual-dtor -Wold-style-cast -Wcast-align -Wunused -Woverloaded-virtual -Wpedantic -Wconversion -Wsign-conversion -Wnull-dereference -Wdouble-promotion -Wformat=2 -Werror -fsanitize=address -fsanitize=undefined,bounds -fno-sanitize-recover=undefined,bounds -std=c++20 -Winvalid-pch -Xclang -include-pch -Xclang /cmake-general/tests/build/src/cli/CMakeFiles/cli.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /cmake-general/tests/build/src/cli/CMakeFiles/cli.dir/cmake_pch.hxx -MD -MT src/cli/CMakeFiles/cli.dir/main.cpp.o -MF CMakeFiles/cli.dir/main.cpp.o.d -o CMakeFiles/cli.dir/main.cpp.o -c /cmake-general/tests/project/src/cli/main.cpp
warning: Error disabling address space randomization: Operation not permitted
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
/cmake-general/tests/project/src/cli/Special.h
/cmake-general/tests/build/config/Version.h
/home/developer/.conan/data/fmt/8.0.1/_/_/package/6bdf91372b96de070e8534b0df31b9e6c83f8737/include/fmt/core.h
. /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/cstdio
. /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/cstring
.. /usr/include/string.h
... /usr/include/x86_64-linux-gnu/bits/libc-header-start.h
... /usr/lib/llvm-12/lib/clang/12.0.1/include/stddef.h
... /usr/include/strings.h
.... /usr/lib/llvm-12/lib/clang/12.0.1/include/stddef.h
. /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/iterator
.. /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stream_iterator.h
. /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/limits
include-what-you-use: /usr/lib/llvm-12/include/llvm/Support/Casting.h:269: typename cast_retty<X, Y *>::ret_type llvm::cast(Y *) [X = clang::FunctionDecl, Y = const clang::NamedDecl]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
49 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) backtrace
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1 0x00007f18e5356864 in __GI_abort () at abort.c:79
#2 0x00007f18e5356749 in __assert_fail_base (fmt=0x7f18e54dff78 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=0x82d785 "isa<X>(Val) && \"cast<Ty>() argument of incompatible type!\"",
file=0x82d67c "/usr/lib/llvm-12/include/llvm/Support/Casting.h", line=269, function=<optimized out>) at assert.c:92
#3 0x00007f18e53683d6 in __GI___assert_fail (assertion=0x82d785 "isa<X>(Val) && \"cast<Ty>() argument of incompatible type!\"",
file=0x82d67c "/usr/lib/llvm-12/include/llvm/Support/Casting.h", line=269,
function=0x843c98 "typename cast_retty<X, Y *>::ret_type llvm::cast(Y *) [X = clang::FunctionDecl, Y = const clang::NamedDecl]")
at assert.c:101
#4 0x00000000005deb38 in llvm::cast_retty<clang::FunctionDecl, clang::NamedDecl const*>::ret_type llvm::cast<clang::FunctionDecl, clang::NamedDecl const>(clang::NamedDecl const*) ()
#5 0x00000000005f5bb8 in include_what_you_use::IwyuBaseAstVisitor<include_what_you_use::IwyuAstConsumer>::VisitCastExpr(clang::CastExpr*)
()
#6 0x00000000005f5ae5 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::WalkUpFromCastExpr(clang::CastExpr*) ()
#7 0x0000000000474861 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::WalkUpFromImplicitCastExpr(clang::ImplicitCastExpr*) ()
#8 0x0000000000474684 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseImplicitCastExpr(clang::ImplicitCastExpr*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) ()
#9 0x00000000004561a3 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::dataTraverseNode(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) ()
#10 0x000000000044c628 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) ()
--Type <RET> for more, q to quit, c to continue without paging-- c
#11 0x000000000044c2ed in include_what_you_use::BaseAstVisitor<include_what_you_use::IwyuAstConsumer>::TraverseStmt(clang::Stmt*) ()
#12 0x00000000004715a0 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseCallExpr(clang::CallExpr*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) ()
#13 0x0000000000471685 in include_what_you_use::BaseAstVisitor<include_what_you_use::IwyuAstConsumer>::TraverseCallExpr(clang::CallExpr*) ()
#14 0x0000000000455fb9 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::dataTraverseNode(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) ()
#15 0x000000000044c628 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) ()
#16 0x000000000044c2ed in include_what_you_use::BaseAstVisitor<include_what_you_use::IwyuAstConsumer>::TraverseStmt(clang::Stmt*) ()
#17 0x0000000000458f10 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseCompoundStmt(clang::CompoundStmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) ()
#18 0x0000000000454fdd in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::dataTraverseNode(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) ()
#19 0x000000000044c628 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseStmt(clang::Stmt*, llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Stmt*, 1u, bool, llvm::PointerLikeTypeTraits<clang::Stmt*>, llvm::PointerIntPairInfo<clang::Stmt*, 1u, llvm::PointerLikeTypeTraits<clang::Stmt*> > > >*) ()
#20 0x000000000044c2ed in include_what_you_use::BaseAstVisitor<include_what_you_use::IwyuAstConsumer>::TraverseStmt(clang::Stmt*) ()
#21 0x00000000006205b7 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseFunctionHelper(clang::FunctionDecl*) ()
#22 0x000000000042bfc3 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseFunctionDecl(clang::FunctionDecl*) ()
#23 0x0000000000423b57 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseDecl(clang::Decl*) ()
#24 0x000000000041fda9 in include_what_you_use::BaseAstVisitor<include_what_you_use::IwyuAstConsumer>::TraverseDecl(clang::Decl*) ()
#25 0x00000000004308ec in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseDeclContextHelper(clang::DeclContext*) ()
#26 0x0000000000430621 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseTranslationUnitDecl(clang::TranslationUnitDecl*) ()
#27 0x00000000004240d9 in clang::RecursiveASTVisitor<include_what_you_use::IwyuAstConsumer>::TraverseDecl(clang::Decl*) ()
#28 0x000000000041fda9 in include_what_you_use::BaseAstVisitor<include_what_you_use::IwyuAstConsumer>::TraverseDecl(clang::Decl*) ()
#29 0x0000000000411291 in include_what_you_use::IwyuAstConsumer::HandleTranslationUnit(clang::ASTContext&) ()
#30 0x00007f18eb9d5b74 in clang::ParseAST(clang::Sema&, bool, bool) () from /usr/lib/llvm-12/lib/libclang-cpp.so.12
#31 0x00007f18ecf6ee18 in clang::FrontendAction::Execute() () from /usr/lib/llvm-12/lib/libclang-cpp.so.12
#32 0x00007f18ecefc8a1 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) () from /usr/lib/llvm-12/lib/libclang-cpp.so.12
#33 0x000000000040d81c in main ()
```