[llvm] [ADT] ImutAVLFactory: avoid overhead of vector for freelist (PR #196534)

via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 19 10:02:24 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 7121 tests passed
* 506 tests skipped

All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.

<details>
<summary>[code=1] tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Facts.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Facts.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\Analysis\LifetimeSafety -IC:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\Analysis\LifetimeSafety\CMakeFiles\obj.clangAnalysisLifetimeSafety.dir\Facts.cpp.obj /Fdtools\clang\lib\Analysis\LifetimeSafety\CMakeFiles\obj.clangAnalysisLifetimeSafety.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\Facts.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\Facts.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
1 error generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LiveOrigins.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LiveOrigins.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\Analysis\LifetimeSafety -IC:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\Analysis\LifetimeSafety\CMakeFiles\obj.clangAnalysisLifetimeSafety.dir\LiveOrigins.cpp.obj /Fdtools\clang\lib\Analysis\LifetimeSafety\CMakeFiles\obj.clangAnalysisLifetimeSafety.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LiveOrigins.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LiveOrigins.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/LiveOrigins.h:24:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(64,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::~IntrusiveRefCntPtr' requested here
64 | class ImmutableMap {
|       ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LiveOrigins.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/LiveOrigins.h:24:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(489,22): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>'
489 |       freeNodes = T->Next;
|                   ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,34): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::createNode' requested here
536 |         return createNode(LL, L, createNode(LR,V,R));
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(626,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::balanceTree' requested here
626 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(446,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::remove_internal' requested here
446 |     T = remove_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(107,21): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::remove' requested here
107 |       TreeTy *T = F.remove(Old.Root.get(), K);
|                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LiveOrigins.cpp(137,31): note: in instantiation of member function 'llvm::ImmutableMap<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo, llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::Factory::remove' requested here
137 |         Out = Lattice(Factory.remove(Out.LiveOrigins, OID));
|                               ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LiveOrigins.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/LiveOrigins.h:24:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(490,10): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>'
490 |       T->Next = nullptr;
|       ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(503,32): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false> *')
503 |     return createNode(newLeft, getValue(oldTree), newRight);
|                                ^~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,16): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::createNode' requested here
536 |         return createNode(LL, L, createNode(LR,V,R));
|                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(626,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::balanceTree' requested here
626 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(446,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::remove_internal' requested here
446 |     T = remove_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(107,21): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::remove' requested here
107 |       TreeTy *T = F.remove(Old.Root.get(), K);
|                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LiveOrigins.cpp(137,31): note: in instantiation of member function 'llvm::ImmutableMap<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo, llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::Factory::remove' requested here
137 |         Out = Lattice(Factory.remove(Out.LiveOrigins, OID));
|                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(571,28): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false> *')
571 |       return createNode(T, V, T);
|                            ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(99,21): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::add' requested here
99 |       TreeTy *T = F.add(Old.Root.get(), std::pair<key_type, data_type>(K, D));
|                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LiveOrigins.cpp(141,31): note: in instantiation of member function 'llvm::ImmutableMap<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo, llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::Factory::add' requested here
141 |         Out = Lattice(Factory.add(Out.LiveOrigins, OID,
|                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(583,37): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false> *')
583 |       return createNode(getLeft(T), V, getRight(T));
|                                     ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
6 errors generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LoanPropagation.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/LoanPropagation.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\Analysis\LifetimeSafety -IC:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\Analysis\LifetimeSafety\CMakeFiles\obj.clangAnalysisLifetimeSafety.dir\LoanPropagation.cpp.obj /Fdtools\clang\lib\Analysis\LifetimeSafety\CMakeFiles\obj.clangAnalysisLifetimeSafety.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp:11:
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\Dataflow.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(64,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>>::~IntrusiveRefCntPtr' requested here
64 | class ImmutableMap {
|       ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp:11:
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\Dataflow.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(489,22): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>'
489 |       freeNodes = T->Next;
|                   ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(571,14): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::createNode' requested here
571 |       return createNode(T, V, T);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp(173,39): note: in instantiation of member function 'llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::Factory::add' requested here
173 |     LoanSet NewLoans = LoanSetFactory.add(LoanSetFactory.getEmptySet(), LID);
|                                       ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp:11:
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\Dataflow.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(490,10): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>'
490 |       T->Next = nullptr;
|       ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,48): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
536 |         return createNode(LL, L, createNode(LR,V,R));
|                                                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp(173,39): note: in instantiation of member function 'llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::Factory::add' requested here
173 |     LoanSet NewLoans = LoanSetFactory.add(LoanSetFactory.getEmptySet(), LID);
|                                       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(543,66): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
543 |       return createNode(createNode(LL,L,LRL), LR, createNode(LRR,V,R));
|                                                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(553,40): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
553 |         return createNode(createNode(L,V,RL), R, RR);
|                                        ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(560,38): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
560 |       return createNode(createNode(L,V,RLL), RL, createNode(RLR,R,RR));
|                                      ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(563,25): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
563 |     return createNode(L,V,R);
|                         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(503,32): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
503 |     return createNode(newLeft, getValue(oldTree), newRight);
|                                ^~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,16): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::createNode' requested here
536 |         return createNode(LL, L, createNode(LR,V,R));
|                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp(173,39): note: in instantiation of member function 'llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::Factory::add' requested here
173 |     LoanSet NewLoans = LoanSetFactory.add(LoanSetFactory.getEmptySet(), LID);
|                                       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(489,22): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>'
489 |       freeNodes = T->Next;
|                   ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(571,14): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::createNode' requested here
571 |       return createNode(T, V, T);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(99,21): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::add' requested here
99 |       TreeTy *T = F.add(Old.Root.get(), std::pair<key_type, data_type>(K, D));
|                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp(286,43): note: in instantiation of member function 'llvm::ImmutableMap<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>, llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::Factory::add' requested here
286 |       return Lattice(OriginLoanMapFactory.add(L.PersistentOrigins, OID, Loans),
|                                           ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp:11:
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\Dataflow.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(490,10): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>'
490 |       T->Next = nullptr;
|       ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,48): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false> *')
536 |         return createNode(LL, L, createNode(LR,V,R));
|                                                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(99,21): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::add' requested here
99 |       TreeTy *T = F.add(Old.Root.get(), std::pair<key_type, data_type>(K, D));
|                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp(286,43): note: in instantiation of member function 'llvm::ImmutableMap<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>, llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::Factory::add' requested here
286 |       return Lattice(OriginLoanMapFactory.add(L.PersistentOrigins, OID, Loans),
|                                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(543,66): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false> *')
543 |       return createNode(createNode(LL,L,LRL), LR, createNode(LRR,V,R));
|                                                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(553,40): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false> *')
553 |         return createNode(createNode(L,V,RL), R, RR);
|                                        ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(560,38): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false> *')
560 |       return createNode(createNode(L,V,RLL), RL, createNode(RLR,R,RR));
|                                      ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(563,25): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false> *')
563 |     return createNode(L,V,R);
|                         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(503,32): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false> *')
503 |     return createNode(newLeft, getValue(oldTree), newRight);
|                                ^~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,16): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::createNode' requested here
536 |         return createNode(LL, L, createNode(LR,V,R));
|                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(99,21): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::add' requested here
99 |       TreeTy *T = F.add(Old.Root.get(), std::pair<key_type, data_type>(K, D));
|                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\LoanPropagation.cpp(286,43): note: in instantiation of member function 'llvm::ImmutableMap<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>, llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>, false>::Factory::add' requested here
286 |       return Lattice(OriginLoanMapFactory.add(L.PersistentOrigins, OID, Loans),
|                                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
18 errors generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/MovedLoans.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/MovedLoans.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\Analysis\LifetimeSafety -IC:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\Analysis\LifetimeSafety\CMakeFiles\obj.clangAnalysisLifetimeSafety.dir\MovedLoans.cpp.obj /Fdtools\clang\lib\Analysis\LifetimeSafety\CMakeFiles\obj.clangAnalysisLifetimeSafety.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\MovedLoans.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\MovedLoans.cpp:15:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/MovedLoans.h:17:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(64,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>>::~IntrusiveRefCntPtr' requested here
64 | class ImmutableMap {
|       ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\MovedLoans.cpp:15:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/MovedLoans.h:17:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(64,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::~IntrusiveRefCntPtr' requested here
64 | class ImmutableMap {
|       ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\MovedLoans.cpp:15:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/MovedLoans.h:17:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(489,22): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>'
489 |       freeNodes = T->Next;
|                   ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(571,14): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::createNode' requested here
571 |       return createNode(T, V, T);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(99,21): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::add' requested here
99 |       TreeTy *T = F.add(Old.Root.get(), std::pair<key_type, data_type>(K, D));
|                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\MovedLoans.cpp(93,36): note: in instantiation of member function 'llvm::ImmutableMap<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *, llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::Factory::add' requested here
93 |               MovedLoansMapFactory.add(MovedLoans, LiveLoan, F.getMoveExpr());
|                                    ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\MovedLoans.cpp:15:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/MovedLoans.h:17:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(490,10): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>'
490 |       T->Next = nullptr;
|       ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,48): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false> *')
536 |         return createNode(LL, L, createNode(LR,V,R));
|                                                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(99,21): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::add' requested here
99 |       TreeTy *T = F.add(Old.Root.get(), std::pair<key_type, data_type>(K, D));
|                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\MovedLoans.cpp(93,36): note: in instantiation of member function 'llvm::ImmutableMap<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *, llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::Factory::add' requested here
93 |               MovedLoansMapFactory.add(MovedLoans, LiveLoan, F.getMoveExpr());
|                                    ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(543,66): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false> *')
543 |       return createNode(createNode(LL,L,LRL), LR, createNode(LRR,V,R));
|                                                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(553,40): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false> *')
553 |         return createNode(createNode(L,V,RL), R, RR);
|                                        ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(560,38): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false> *')
560 |       return createNode(createNode(L,V,RLL), RL, createNode(RLR,R,RR));
|                                      ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(563,25): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false> *')
563 |     return createNode(L,V,R);
|                         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(503,32): error: no viable conversion from 'const value_type' (aka 'const std::pair<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>') to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false> *')
503 |     return createNode(newLeft, getValue(oldTree), newRight);
|                                ^~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,16): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::createNode' requested here
536 |         return createNode(LL, L, createNode(LR,V,R));
|                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(99,21): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::add' requested here
99 |       TreeTy *T = F.add(Old.Root.get(), std::pair<key_type, data_type>(K, D));
|                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\MovedLoans.cpp(93,36): note: in instantiation of member function 'llvm::ImmutableMap<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *, llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::Factory::add' requested here
93 |               MovedLoansMapFactory.add(MovedLoans, LiveLoan, F.getMoveExpr());
|                                    ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
11 errors generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Checker.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/Analysis/LifetimeSafety/CMakeFiles/obj.clangAnalysisLifetimeSafety.dir/Checker.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\Analysis\LifetimeSafety -IC:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\Analysis\LifetimeSafety\CMakeFiles\obj.clangAnalysisLifetimeSafety.dir\Checker.cpp.obj /Fdtools\clang\lib\Analysis\LifetimeSafety\CMakeFiles\obj.clangAnalysisLifetimeSafety.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\Checker.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\Checker.cpp:14:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Checker.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(64,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, const clang::Expr *>, false>>::~IntrusiveRefCntPtr' requested here
64 | class ImmutableMap {
|       ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LifetimeSafety\Checker.cpp:14:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Checker.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(64,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::~IntrusiveRefCntPtr' requested here
64 | class ImmutableMap {
|       ^
3 errors generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/LiveVariables.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/Analysis/CMakeFiles/obj.clangAnalysis.dir/LiveVariables.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\Analysis -IC:\_work\llvm-project\llvm-project\clang\lib\Analysis -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\Analysis\CMakeFiles\obj.clangAnalysis.dir\LiveVariables.cpp.obj /Fdtools\clang\lib\Analysis\CMakeFiles\obj.clangAnalysis.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp:13:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LiveVariables.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(489,22): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>'
489 |       freeNodes = T->Next;
|                   ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(571,14): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::Expr *>, false>::createNode' requested here
571 |       return createNode(T, V, T);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::Expr *>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(1116,37): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::Expr *>, false>::add' requested here
1116 |     return ImmutableSetRef(Factory->add(Root.get(), V), Factory);
|                                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(101,11): note: in instantiation of member function 'llvm::ImmutableSetRef<const clang::Expr *, llvm::ImutContainerInfo<const clang::Expr *>, false>::add' requested here
101 |     A = A.add(Elem);
|           ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(128,14): note: in instantiation of function template specialization '(anonymous namespace)::mergeSets<llvm::ImmutableSetRef<const clang::Expr *, llvm::ImutContainerInfo<const clang::Expr *>, false>>' requested here
128 |   SSetRefA = mergeSets(SSetRefA, SSetRefB);
|              ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp:13:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LiveVariables.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(490,10): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>'
490 |       T->Next = nullptr;
|       ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,48): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false> *') with an lvalue of type 'value_type_ref' (aka 'const clang::Expr *')
536 |         return createNode(LL, L, createNode(LR,V,R));
|                                                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::Expr *>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::Expr *>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(1116,37): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::Expr *>, false>::add' requested here
1116 |     return ImmutableSetRef(Factory->add(Root.get(), V), Factory);
|                                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(101,11): note: in instantiation of member function 'llvm::ImmutableSetRef<const clang::Expr *, llvm::ImutContainerInfo<const clang::Expr *>, false>::add' requested here
101 |     A = A.add(Elem);
|           ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(128,14): note: in instantiation of function template specialization '(anonymous namespace)::mergeSets<llvm::ImmutableSetRef<const clang::Expr *, llvm::ImutContainerInfo<const clang::Expr *>, false>>' requested here
128 |   SSetRefA = mergeSets(SSetRefA, SSetRefB);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(543,66): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false> *') with an lvalue of type 'value_type_ref' (aka 'const clang::Expr *')
543 |       return createNode(createNode(LL,L,LRL), LR, createNode(LRR,V,R));
|                                                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(553,40): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false> *') with an lvalue of type 'value_type_ref' (aka 'const clang::Expr *')
553 |         return createNode(createNode(L,V,RL), R, RR);
|                                        ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(560,38): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false> *') with an lvalue of type 'value_type_ref' (aka 'const clang::Expr *')
560 |       return createNode(createNode(L,V,RLL), RL, createNode(RLR,R,RR));
|                                      ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(563,25): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false> *') with an lvalue of type 'value_type_ref' (aka 'const clang::Expr *')
563 |     return createNode(L,V,R);
|                         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(503,32): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false> *') with an rvalue of type 'value_type_ref' (aka 'const clang::Expr *')
503 |     return createNode(newLeft, getValue(oldTree), newRight);
|                                ^~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,16): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::Expr *>, false>::createNode' requested here
536 |         return createNode(LL, L, createNode(LR,V,R));
|                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::Expr *>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::Expr *>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(1116,37): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::Expr *>, false>::add' requested here
1116 |     return ImmutableSetRef(Factory->add(Root.get(), V), Factory);
|                                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(101,11): note: in instantiation of member function 'llvm::ImmutableSetRef<const clang::Expr *, llvm::ImutContainerInfo<const clang::Expr *>, false>::add' requested here
101 |     A = A.add(Elem);
|           ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(128,14): note: in instantiation of function template specialization '(anonymous namespace)::mergeSets<llvm::ImmutableSetRef<const clang::Expr *, llvm::ImutContainerInfo<const clang::Expr *>, false>>' requested here
128 |   SSetRefA = mergeSets(SSetRefA, SSetRefB);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(489,22): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>'
489 |       freeNodes = T->Next;
|                   ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(571,14): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::createNode' requested here
571 |       return createNode(T, V, T);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(1116,37): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::add' requested here
1116 |     return ImmutableSetRef(Factory->add(Root.get(), V), Factory);
|                                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(101,11): note: in instantiation of member function 'llvm::ImmutableSetRef<const clang::VarDecl *, llvm::ImutContainerInfo<const clang::VarDecl *>, false>::add' requested here
101 |     A = A.add(Elem);
|           ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(129,14): note: in instantiation of function template specialization '(anonymous namespace)::mergeSets<llvm::ImmutableSetRef<const clang::VarDecl *, llvm::ImutContainerInfo<const clang::VarDecl *>, false>>' requested here
129 |   DSetRefA = mergeSets(DSetRefA, DSetRefB);
|              ^
In file included from C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp:13:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LiveVariables.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(490,10): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>'
490 |       T->Next = nullptr;
|       ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,48): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false> *') with an lvalue of type 'value_type_ref' (aka 'const clang::VarDecl *')
536 |         return createNode(LL, L, createNode(LR,V,R));
|                                                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(1116,37): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::add' requested here
1116 |     return ImmutableSetRef(Factory->add(Root.get(), V), Factory);
|                                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(101,11): note: in instantiation of member function 'llvm::ImmutableSetRef<const clang::VarDecl *, llvm::ImutContainerInfo<const clang::VarDecl *>, false>::add' requested here
101 |     A = A.add(Elem);
|           ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(129,14): note: in instantiation of function template specialization '(anonymous namespace)::mergeSets<llvm::ImmutableSetRef<const clang::VarDecl *, llvm::ImutContainerInfo<const clang::VarDecl *>, false>>' requested here
129 |   DSetRefA = mergeSets(DSetRefA, DSetRefB);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(543,66): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false> *') with an lvalue of type 'value_type_ref' (aka 'const clang::VarDecl *')
543 |       return createNode(createNode(LL,L,LRL), LR, createNode(LRR,V,R));
|                                                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(553,40): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false> *') with an lvalue of type 'value_type_ref' (aka 'const clang::VarDecl *')
553 |         return createNode(createNode(L,V,RL), R, RR);
|                                        ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(560,38): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false> *') with an lvalue of type 'value_type_ref' (aka 'const clang::VarDecl *')
560 |       return createNode(createNode(L,V,RLL), RL, createNode(RLR,R,RR));
|                                      ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(563,25): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false> *') with an lvalue of type 'value_type_ref' (aka 'const clang::VarDecl *')
563 |     return createNode(L,V,R);
|                         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(503,32): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false> *') with an rvalue of type 'value_type_ref' (aka 'const clang::VarDecl *')
503 |     return createNode(newLeft, getValue(oldTree), newRight);
|                                ^~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,16): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::createNode' requested here
536 |         return createNode(LL, L, createNode(LR,V,R));
|                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(1116,37): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::add' requested here
1116 |     return ImmutableSetRef(Factory->add(Root.get(), V), Factory);
|                                     ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(101,11): note: in instantiation of member function 'llvm::ImmutableSetRef<const clang::VarDecl *, llvm::ImutContainerInfo<const clang::VarDecl *>, false>::add' requested here
101 |     A = A.add(Elem);
|           ^
C:\_work\llvm-project\llvm-project\clang\lib\Analysis\LiveVariables.cpp(129,14): note: in instantiation of function template specialization '(anonymous namespace)::mergeSets<llvm::ImmutableSetRef<const clang::VarDecl *, llvm::ImutContainerInfo<const clang::VarDecl *>, false>>' requested here
129 |   DSetRefA = mergeSets(DSetRefA, DSetRefB);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineCallAndReturn.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/ExprEngineCallAndReturn.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\StaticAnalyzer\Core -IC:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Core -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\StaticAnalyzer\Core\CMakeFiles\obj.clangStaticAnalyzerCore.dir\ExprEngineCallAndReturn.cpp.obj /Fdtools\clang\lib\StaticAnalyzer\Core\CMakeFiles\obj.clangStaticAnalyzerCore.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Core\ExprEngineCallAndReturn.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Core\ExprEngineCallAndReturn.cpp:16:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LiveVariables.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
3 errors generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SymbolManager.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/StaticAnalyzer/Core/CMakeFiles/obj.clangStaticAnalyzerCore.dir/SymbolManager.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\StaticAnalyzer\Core -IC:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Core -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\StaticAnalyzer\Core\CMakeFiles\obj.clangStaticAnalyzerCore.dir\SymbolManager.cpp.obj /Fdtools\clang\lib\StaticAnalyzer\Core\CMakeFiles\obj.clangStaticAnalyzerCore.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Core\SymbolManager.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Core\SymbolManager.cpp:14:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:22:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:30:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/StaticAnalyzer/Core/PathSensitive/SVals.h:25:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
3 errors generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DeadStoresChecker.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DeadStoresChecker.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\StaticAnalyzer\Checkers -IC:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Checkers -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\StaticAnalyzer\Checkers\CMakeFiles\obj.clangStaticAnalyzerCheckers.dir\DeadStoresChecker.cpp.obj /Fdtools\clang\lib\StaticAnalyzer\Checkers\CMakeFiles\obj.clangStaticAnalyzerCheckers.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Checkers\DeadStoresChecker.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Checkers\DeadStoresChecker.cpp:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LiveVariables.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
3 errors generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DebugCheckers.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/DebugCheckers.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\StaticAnalyzer\Checkers -IC:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Checkers -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\StaticAnalyzer\Checkers\CMakeFiles\obj.clangStaticAnalyzerCheckers.dir\DebugCheckers.cpp.obj /Fdtools\clang\lib\StaticAnalyzer\Checkers\CMakeFiles\obj.clangStaticAnalyzerCheckers.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Checkers\DebugCheckers.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Checkers\DebugCheckers.cpp:15:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LiveVariables.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
3 errors generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/AnalysisConsumer.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/AnalysisConsumer.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\StaticAnalyzer\Frontend -IC:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Frontend -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\StaticAnalyzer\Frontend\..\Checkers /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\StaticAnalyzer\Frontend\CMakeFiles\obj.clangStaticAnalyzerFrontend.dir\AnalysisConsumer.cpp.obj /Fdtools\clang\lib\StaticAnalyzer\Frontend\CMakeFiles\obj.clangStaticAnalyzerFrontend.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Frontend\AnalysisConsumer.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\lib\StaticAnalyzer\Frontend\AnalysisConsumer.cpp:19:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LiveVariables.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::Expr *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::VarDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<const clang::BindingDecl *>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
3 errors generated.
```
</details>
<details>
<summary>[code=1] tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/LifetimeSafetyTest.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/unittests/CMakeFiles/AllClangUnitTests.dir/Analysis/LifetimeSafetyTest.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DCLANG_BUILD_STATIC -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\unittests -IC:\_work\llvm-project\llvm-project\clang\unittests -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include -IC:\_work\llvm-project\llvm-project\clang\unittests\Tooling -IC:\_work\llvm-project\llvm-project\third-party\unittest\googletest\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googlemock\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG -Wno-gnu-zero-variadic-macro-arguments /EHs-c- /GR- -Wno-suggest-override /showIncludes /Fotools\clang\unittests\CMakeFiles\AllClangUnitTests.dir\Analysis\LifetimeSafetyTest.cpp.obj /Fdtools\clang\unittests\CMakeFiles\AllClangUnitTests.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\unittests\Analysis\LifetimeSafetyTest.cpp
In file included from C:\_work\llvm-project\llvm-project\clang\unittests\Analysis\LifetimeSafetyTest.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h:24:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h(64,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutKeyValueInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::OriginTag>, clang::lifetimes::internal::LivenessInfo>, false>>::~IntrusiveRefCntPtr' requested here
64 | class ImmutableMap {
|       ^
In file included from C:\_work\llvm-project\llvm-project\clang\unittests\Analysis\LifetimeSafetyTest.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h:24:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(489,22): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>'
489 |       freeNodes = T->Next;
|                   ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(571,14): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::createNode' requested here
571 |       return createNode(T, V, T);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h(55,11): note: in instantiation of member function 'llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::Factory::add' requested here
55 |     A = F.add(A, E);
|           ^
C:\_work\llvm-project\llvm-project\clang\unittests\Analysis\LifetimeSafetyTest.cpp(160,51): note: in instantiation of function template specialization 'clang::lifetimes::internal::utils::join<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>' requested here
160 |       Result = clang::lifetimes::internal::utils::join(Result, Loans, F);
|                                                   ^
In file included from C:\_work\llvm-project\llvm-project\clang\unittests\Analysis\LifetimeSafetyTest.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h:24:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Facts.h:18:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Loans.h:20:
In file included from C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h:14:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableMap.h:18:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(490,10): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>'
490 |       T->Next = nullptr;
|       ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,48): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
536 |         return createNode(LL, L, createNode(LR,V,R));
|                                                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h(55,11): note: in instantiation of member function 'llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::Factory::add' requested here
55 |     A = F.add(A, E);
|           ^
C:\_work\llvm-project\llvm-project\clang\unittests\Analysis\LifetimeSafetyTest.cpp(160,51): note: in instantiation of function template specialization 'clang::lifetimes::internal::utils::join<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>' requested here
160 |       Result = clang::lifetimes::internal::utils::join(Result, Loans, F);
|                                                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(543,66): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
543 |       return createNode(createNode(LL,L,LRL), LR, createNode(LRR,V,R));
|                                                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(553,40): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
553 |         return createNode(createNode(L,V,RL), R, RR);
|                                        ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(560,38): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
560 |       return createNode(createNode(L,V,RLL), RL, createNode(RLR,R,RR));
|                                      ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(563,25): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
563 |     return createNode(L,V,R);
|                         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(503,32): error: no viable conversion from 'const clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>' to 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false> *')
503 |     return createNode(newLeft, getValue(oldTree), newRight);
|                                ^~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,16): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::createNode' requested here
536 |         return createNode(LL, L, createNode(LR,V,R));
|                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\clang\include\clang/Analysis/Analyses/LifetimeSafety/Utils.h(55,11): note: in instantiation of member function 'llvm::ImmutableSet<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>, llvm::ImutContainerInfo<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>, false>::Factory::add' requested here
55 |     A = F.add(A, E);
|           ^
C:\_work\llvm-project\llvm-project\clang\unittests\Analysis\LifetimeSafetyTest.cpp(160,51): note: in instantiation of function template specialization 'clang::lifetimes::internal::utils::join<clang::lifetimes::internal::utils::ID<clang::lifetimes::internal::LoanTag>>' requested here
160 |       Result = clang::lifetimes::internal::utils::join(Result, Loans, F);
|                                                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
10 errors generated.
```
</details>
<details>
<summary>[code=1] unittests/ADT/CMakeFiles/ADTTests.dir/ImmutableSetTest.cpp.obj</summary>

```
FAILED: [code=1] unittests/ADT/CMakeFiles/ADTTests.dir/ImmutableSetTest.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\unittests\ADT -IC:\_work\llvm-project\llvm-project\llvm\unittests\ADT -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googletest\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googlemock\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG -Wno-gnu-zero-variadic-macro-arguments /EHs-c- /GR- -Wno-suggest-override /showIncludes /Founittests\ADT\CMakeFiles\ADTTests.dir\ImmutableSetTest.cpp.obj /Fdunittests\ADT\CMakeFiles\ADTTests.dir\ -c -- C:\_work\llvm-project\llvm-project\llvm\unittests\ADT\ImmutableSetTest.cpp
In file included from C:\_work\llvm-project\llvm-project\llvm\unittests\ADT\ImmutableSetTest.cpp:9:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<long>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<long>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<long>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<long>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<long>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<long>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(489,22): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<long>, false>'
489 |       freeNodes = T->Next;
|                   ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(571,14): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<long>, false>::createNode' requested here
571 |       return createNode(T, V, T);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<long>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<long>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\llvm\unittests\ADT\ImmutableSetTest.cpp(180,9): note: in instantiation of member function 'llvm::ImmutableSet<long, llvm::ImutContainerInfo<long>, false>::Factory::add' requested here
180 |   S = f.add(S, 1);
|         ^
In file included from C:\_work\llvm-project\llvm-project\llvm\unittests\ADT\ImmutableSetTest.cpp:9:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(490,10): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<long>, false>'
490 |       T->Next = nullptr;
|       ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,48): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<long>, false> *') with an lvalue of type 'const long'
536 |         return createNode(LL, L, createNode(LR,V,R));
|                                                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<long>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<long>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<long>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\llvm\unittests\ADT\ImmutableSetTest.cpp(180,9): note: in instantiation of member function 'llvm::ImmutableSet<long, llvm::ImutContainerInfo<long>, false>::Factory::add' requested here
180 |   S = f.add(S, 1);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(543,66): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<long>, false> *') with an lvalue of type 'const long'
543 |       return createNode(createNode(LL,L,LRL), LR, createNode(LRR,V,R));
|                                                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(553,40): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<long>, false> *') with an lvalue of type 'const long'
553 |         return createNode(createNode(L,V,RL), R, RR);
|                                        ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(560,38): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<long>, false> *') with an lvalue of type 'const long'
560 |       return createNode(createNode(L,V,RLL), RL, createNode(RLR,R,RR));
|                                      ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(563,25): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<long>, false> *') with an lvalue of type 'const long'
563 |     return createNode(L,V,R);
|                         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(503,32): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<long>, false> *') with an lvalue of type 'const long'
503 |     return createNode(newLeft, getValue(oldTree), newRight);
|                                ^~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,16): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<long>, false>::createNode' requested here
536 |         return createNode(LL, L, createNode(LR,V,R));
|                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<long>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<long>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<long>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\llvm\unittests\ADT\ImmutableSetTest.cpp(180,9): note: in instantiation of member function 'llvm::ImmutableSet<long, llvm::ImutContainerInfo<long>, false>::Factory::add' requested here
180 |   S = f.add(S, 1);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(381,11): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<int>, false>'
381 |     this->Next = factory->freeNodes;
|     ~~~~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(358,7): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<int>, false>::destroy' requested here
358 |       destroy();
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(392,11): note: in instantiation of member function 'llvm::ImutAVLTree<llvm::ImutContainerInfo<int>, false>::release' requested here
392 |     Tree->release();
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(233,34): note: in instantiation of member function 'llvm::IntrusiveRefCntPtrInfo<llvm::ImutAVLTree<llvm::ImutContainerInfo<int>, false>>::release' requested here
233 |       IntrusiveRefCntPtrInfo<T>::release(Obj);
|                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/IntrusiveRefCntPtr.h(196,27): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<int>, false>>::release' requested here
196 |   ~IntrusiveRefCntPtr() { release(); }
|                           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(952,7): note: in instantiation of member function 'llvm::IntrusiveRefCntPtr<llvm::ImutAVLTree<llvm::ImutContainerInfo<int>, false>>::~IntrusiveRefCntPtr' requested here
952 | class ImmutableSet {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(489,22): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<int>, false>'
489 |       freeNodes = T->Next;
|                   ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(571,14): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<int>, false>::createNode' requested here
571 |       return createNode(T, V, T);
|              ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<int>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<int>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\llvm\unittests\ADT\ImmutableSetTest.cpp(229,11): note: in instantiation of member function 'llvm::ImmutableSet<int, llvm::ImutContainerInfo<int>, false>::Factory::add' requested here
229 |     S = F.add(S, V);
|           ^
In file included from C:\_work\llvm-project\llvm-project\llvm\unittests\ADT\ImmutableSetTest.cpp:9:
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(490,10): error: no member named 'Next' in 'llvm::ImutAVLTree<llvm::ImutContainerInfo<int>, false>'
490 |       T->Next = nullptr;
|       ~  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,48): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<int>, false> *') with an lvalue of type 'const int'
536 |         return createNode(LL, L, createNode(LR,V,R));
|                                                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<int>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<int>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<int>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\llvm\unittests\ADT\ImmutableSetTest.cpp(229,11): note: in instantiation of member function 'llvm::ImmutableSet<int, llvm::ImutContainerInfo<int>, false>::Factory::add' requested here
229 |     S = F.add(S, V);
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(543,66): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<int>, false> *') with an lvalue of type 'const int'
543 |       return createNode(createNode(LL,L,LRL), LR, createNode(LRR,V,R));
|                                                                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(553,40): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<int>, false> *') with an lvalue of type 'const int'
553 |         return createNode(createNode(L,V,RL), R, RR);
|                                        ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(560,38): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<int>, false> *') with an lvalue of type 'const int'
560 |       return createNode(createNode(L,V,RLL), RL, createNode(RLR,R,RR));
|                                      ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(563,25): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<int>, false> *') with an lvalue of type 'const int'
563 |     return createNode(L,V,R);
|                         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(503,32): error: cannot initialize a parameter of type 'TreeTy *' (aka 'ImutAVLTree<llvm::ImutContainerInfo<int>, false> *') with an lvalue of type 'const int'
503 |     return createNode(newLeft, getValue(oldTree), newRight);
|                                ^~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(536,16): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<int>, false>::createNode' requested here
536 |         return createNode(LL, L, createNode(LR,V,R));
|                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(597,18): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<int>, false>::balanceTree' requested here
597 |                : balanceTree(NewL, getValue(T), NewR);
|                  ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(440,9): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<int>, false>::add_internal' requested here
440 |     T = add_internal(V,T);
|         ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(992,24): note: in instantiation of member function 'llvm::ImutAVLFactory<llvm::ImutContainerInfo<int>, false>::add' requested here
992 |       TreeTy *NewT = F.add(Old.Root.get(), V);
|                        ^
C:\_work\llvm-project\llvm-project\llvm\unittests\ADT\ImmutableSetTest.cpp(229,11): note: in instantiation of member function 'llvm::ImmutableSet<int, llvm::ImutContainerInfo<int>, false>::Factory::add' requested here
229 |     S = F.add(S, V);
|           ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ImmutableSet.h(502,47): note: passing argument to parameter 'oldTree' here
502 |   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
|                                               ^
18 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/196534


More information about the llvm-commits mailing list