google/fruit

Build fails with Visual Studio 2022 with C++20

Inujel opened this issue · 8 comments

I have this error when building with Visual Studio 2022 in C++20 (only), with Conan, without Boost.

fruit/3.6.0: Copying sources to build folder
fruit/3.6.0: Building your package in C:\Users\jj\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe91677114965382
fruit/3.6.0: Generator cmake created conanbuildinfo.cmake
fruit/3.6.0: Aggregating env generators
fruit/3.6.0: Calling build()
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19044.
-- The C compiler identification is MSVC 19.33.31630.0
-- The CXX compiler identification is MSVC 19.33.31630.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.33.31629/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.33.31629/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: called by CMake conan helper
-- Conan: called inside local cache
-- Conan: Adjusting output directories
-- Conan: Using cmake global configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Conan setting CPP STANDARD: 20 WITH EXTENSIONS OFF
-- Performing Test FRUIT_TRIVIAL_SOURCE_COMPILES
-- Performing Test FRUIT_TRIVIAL_SOURCE_COMPILES - Success
-- Performing Test FRUIT_HAS_CLANG_ARBITRARY_OVERLOAD_RESOLUTION_BUG
-- Performing Test FRUIT_HAS_CLANG_ARBITRARY_OVERLOAD_RESOLUTION_BUG - Success
-- Performing Test FRUIT_HAS_HAS_TRIVIAL_COPY
-- Performing Test FRUIT_HAS_HAS_TRIVIAL_COPY - Success
-- Performing Test FRUIT_HAS_IS_TRIVIALLY_COPYABLE
-- Performing Test FRUIT_HAS_IS_TRIVIALLY_COPYABLE - Success
-- Performing Test FRUIT_HAS_MAX_ALIGN_T
-- Performing Test FRUIT_HAS_MAX_ALIGN_T - Success
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPYABLE
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPYABLE - Success
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPY_CONSTRUCTIBLE
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPY_CONSTRUCTIBLE - Success
-- Performing Test FRUIT_HAS_STD_MAX_ALIGN_T
-- Performing Test FRUIT_HAS_STD_MAX_ALIGN_T - Success
-- Performing Test FRUIT_HAS_TYPEID
-- Performing Test FRUIT_HAS_TYPEID - Success
-- Performing Test FRUIT_HAS_CONSTEXPR_TYPEID
-- Performing Test FRUIT_HAS_CONSTEXPR_TYPEID - Success
-- Performing Test FRUIT_HAS_CXA_DEMANGLE
-- Performing Test FRUIT_HAS_CXA_DEMANGLE - Failed
-- Performing Test FRUIT_HAS_ALWAYS_INLINE_ATTRIBUTE
-- Performing Test FRUIT_HAS_ALWAYS_INLINE_ATTRIBUTE - Failed
-- Performing Test FRUIT_HAS_FORCEINLINE
-- Performing Test FRUIT_HAS_FORCEINLINE - Success
-- Performing Test FRUIT_HAS_ATTRIBUTE_DEPRECATED
-- Performing Test FRUIT_HAS_ATTRIBUTE_DEPRECATED - Success
-- Performing Test FRUIT_HAS_GCC_ATTRIBUTE_DEPRECATED
-- Performing Test FRUIT_HAS_GCC_ATTRIBUTE_DEPRECATED - Failed
-- Performing Test FRUIT_HAS_DECLSPEC_DEPRECATED
-- Performing Test FRUIT_HAS_DECLSPEC_DEPRECATED - Success
-- Performing Test FRUIT_HAS_MSVC_ASSUME
-- Performing Test FRUIT_HAS_MSVC_ASSUME - Success
-- Performing Test FRUIT_HAS_BUILTIN_UNREACHABLE
-- Performing Test FRUIT_HAS_BUILTIN_UNREACHABLE - Failed
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_EXPORT_NO_PACKAGE_REGISTRY


-- Build files have been written to: C:/Users/jj/.conan/data/fruit/3.6.0/_/_/build/255fef913b09852b9ac19f13fe91677114965382/build_subfolder
MSBuild version 17.3.1+2badb37d1 for .NET Framework
  Checking Build System
  Building Custom Rule C:/Users/jj/.conan/data/fruit/3.6.0/_/_/build/255fef913b09852b9ac19f13fe91677114965382/source_subfolder/src/CMakeLists.txt
  memory_pool.cpp
  binding_normalization.cpp
  demangle_type_name.cpp
  component.cpp
  fixed_size_allocator.cpp
  injector_storage.cpp
  normalized_component_storage.cpp
  normalized_component_storage_holder.cpp
  semistatic_map.cpp
  semistatic_graph.cpp
C:\Users\jj\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe91677114965382\source_subfolder\include\fruit/impl/normalized_component_storage/binding_normalization.templates
.h(679,1): fatal  error C1001: Internal compiler error. [C:\Users\jj\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe91677114965382\build_subfolder\source_subfolder\src\fr
uit.vcxproj]
  (compiler file 'D:\a\_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\lambdas.cpp', line 8745)
   To work around this problem, try simplifying or changing the program near the locations listed above.
  If possible please provide a repro here: https://developercommunity.visualstudio.com
  Please choose the Technical Support command on the Visual C++
   Help menu, or open the Technical Support help file for more information (compiling source file C:\Users\jj\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe9167711496538 
  2\source_subfolder\src\binding_normalization.cpp)
C:\Users\jj\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe91677114965382\source_subfolder\src\binding_normalization.cpp(308): message : see reference to function templat 
e instantiation 'void fruit::impl::BindingNormalization::normalizeBindingsWithBindingCompression<fruit::impl::BindingNormalization::normalizeBindingsWithUndoableBindingCompression::<l 
ambda_1>,fruit::impl::BindingNormalization::normalizeBindingsWithUndoableBindingCompression::<lambda_2>,fruit::impl::BindingNormalization::normalizeBindingsWithUndoableBindingCompress 
ion::<lambda_3>,fruit::impl::BindingNormalization::normalizeBindingsWithUndoableBindingCompression::<lambda_4>,fruit::impl::BindingNormalization::normalizeBindingsWithUndoableBindingC 
ompression::<lambda_5>>(fruit::impl::FixedSizeVector<fruit::impl::ComponentStorageEntry,std::allocator<T>> &&,fruit::impl::FixedSizeAllocator::FixedSizeAllocatorData &,fruit::impl::Me 
moryPool &,fruit::impl::MemoryPool &,fruit::impl::MemoryPool &,const std::vector<fruit::impl::TypeId,fruit::impl::ArenaAllocator<fruit::impl::TypeId>> &,std::vector<fruit::impl::Compo 
nentStorageEntry,fruit::impl::ArenaAllocator<T>> &,std::unordered_map<fruit::impl::TypeId,fruit::impl::NormalizedMultibindingSet,std::hash<fruit::impl::TypeId>,std::equal_to<fruit::im 
pl::TypeId>,std::allocator<std::pair<const fruit::impl::TypeId,fruit::impl::NormalizedMultibindingSet>>> &,SaveCompressedBindingUndoInfo,SaveFullyExpandedComponentsWithNoArgs,SaveFull 
yExpandedComponentsWithArgs,SaveComponentReplacementsWithNoArgs,SaveComponentReplacementsWithArgs)' being compiled [C:\Users\jj\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19 
f13fe91677114965382\build_subfolder\source_subfolder\src\fruit.vcxproj]
          with
          [
              T=fruit::impl::ComponentStorageEntry,
              SaveCompressedBindingUndoInfo=fruit::impl::BindingNormalization::normalizeBindingsWithUndoableBindingCompression::<lambda_1>,
              SaveFullyExpandedComponentsWithNoArgs=fruit::impl::BindingNormalization::normalizeBindingsWithUndoableBindingCompression::<lambda_2>,
              SaveFullyExpandedComponentsWithArgs=fruit::impl::BindingNormalization::normalizeBindingsWithUndoabl...
fruit/3.6.0: 
fruit/3.6.0: ERROR: Package '255fef913b09852b9ac19f13fe91677114965382' build failed
fruit/3.6.0: WARN: Build folder C:\Users\jj\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe91677114965382
ERROR: fruit/3.6.0: Error in build() method, line 111
        cmake.build()
        ConanException: Error 1 while executing cmake --build C:\Users\jj\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe91677114965382\build_subfolder --config Debug -- /
m:12 /verbosity:minimal

It looks like this is an internal compiler error. But could we possibly work around it?

Sigh, every new release of visual studio has a new set of compiler bugs to work around...
I'll look into it this weekend.
Thanks for reporting.

I looked into this a bit but it seems to work for me...

C:\Users\Marco\source\repos\fruit>conan create . -o fruit:use_boost=False -s build_type=Debug -s cppstd=20 -s compiler.version=17
Exporting package recipe
fruit/3.6.0 exports: Copied 1 file: COPYING
fruit/3.6.0: The stored package has not changed
fruit/3.6.0: Exported revision: c84c60a05c5b224727d9f2708a831b74
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Debug
compiler=Visual Studio
compiler.runtime=MDd
compiler.version=17
cppstd=20
os=Windows
os_build=Windows
[options]
fruit:use_boost=False
[build_requires]
[env]

fruit/3.6.0: Forced build from source
fruit/3.6.0 (test package): Installing package
Requirements
fruit/3.6.0 from local cache - Cache
Packages
fruit/3.6.0:164640aad040835ac89882393a96d89200694f04 - Build

Installing (downloading, building) binaries...
fruit/3.6.0: Copying sources to build folder
fruit/3.6.0: Building your package in C:\Users\Marco.conan\data\fruit\3.6.0__\build\164640aad040835ac89882393a96d89200694f04
fruit/3.6.0: Generator cmake created conanbuildinfo.cmake
fruit/3.6.0: Aggregating env generators
fruit/3.6.0: Calling build()
-- Selecting Windows SDK version 10.0.20348.0 to target Windows 10.0.19044.
-- The CXX compiler identification is MSVC 19.34.31933.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: called by CMake conan helper
-- Conan: called inside local cache
-- Conan: Adjusting output directories
-- Conan: Using cmake global configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Performing Test FRUIT_TRIVIAL_SOURCE_COMPILES
-- Performing Test FRUIT_TRIVIAL_SOURCE_COMPILES - Success
-- Performing Test FRUIT_HAS_CLANG_ARBITRARY_OVERLOAD_RESOLUTION_BUG
-- Performing Test FRUIT_HAS_CLANG_ARBITRARY_OVERLOAD_RESOLUTION_BUG - Success
-- Performing Test FRUIT_HAS_HAS_TRIVIAL_COPY
-- Performing Test FRUIT_HAS_HAS_TRIVIAL_COPY - Success
-- Performing Test FRUIT_HAS_IS_TRIVIALLY_COPYABLE
-- Performing Test FRUIT_HAS_IS_TRIVIALLY_COPYABLE - Success
-- Performing Test FRUIT_HAS_MAX_ALIGN_T
-- Performing Test FRUIT_HAS_MAX_ALIGN_T - Success
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPYABLE
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPYABLE - Success
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPY_CONSTRUCTIBLE
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPY_CONSTRUCTIBLE - Success
-- Performing Test FRUIT_HAS_STD_MAX_ALIGN_T
-- Performing Test FRUIT_HAS_STD_MAX_ALIGN_T - Success
-- Performing Test FRUIT_HAS_TYPEID
-- Performing Test FRUIT_HAS_TYPEID - Success
-- Performing Test FRUIT_HAS_CONSTEXPR_TYPEID
-- Performing Test FRUIT_HAS_CONSTEXPR_TYPEID - Success
-- Performing Test FRUIT_HAS_CXA_DEMANGLE
-- Performing Test FRUIT_HAS_CXA_DEMANGLE - Failed
-- Performing Test FRUIT_HAS_ALWAYS_INLINE_ATTRIBUTE
-- Performing Test FRUIT_HAS_ALWAYS_INLINE_ATTRIBUTE - Failed
-- Performing Test FRUIT_HAS_FORCEINLINE
-- Performing Test FRUIT_HAS_FORCEINLINE - Success
-- Performing Test FRUIT_HAS_ATTRIBUTE_DEPRECATED
-- Performing Test FRUIT_HAS_ATTRIBUTE_DEPRECATED - Success
-- Performing Test FRUIT_HAS_GCC_ATTRIBUTE_DEPRECATED
-- Performing Test FRUIT_HAS_GCC_ATTRIBUTE_DEPRECATED - Failed
-- Performing Test FRUIT_HAS_DECLSPEC_DEPRECATED
-- Performing Test FRUIT_HAS_DECLSPEC_DEPRECATED - Success
-- Performing Test FRUIT_HAS_MSVC_ASSUME
-- Performing Test FRUIT_HAS_MSVC_ASSUME - Success
-- Performing Test FRUIT_HAS_BUILTIN_UNREACHABLE
-- Performing Test FRUIT_HAS_BUILTIN_UNREACHABLE - Failed
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:

CMAKE_EXPORT_NO_PACKAGE_REGISTRY
FRUIT_TESTS_USE_PRECOMPILED_HEADERS

-- Build files have been written to: C:/Users/Marco/.conan/data/fruit/3.6.0///build/164640aad040835ac89882393a96d89200694f04
MSBuild version 17.4.0+18d5aef85 for .NET Framework
Checking Build System
Building Custom Rule C:/Users/Marco/.conan/data/fruit/3.6.0///build/164640aad040835ac89882393a96d89200694f04/source_subfolder/src/CMakeLists.txt
memory_pool.cpp
binding_normalization.cpp
demangle_type_name.cpp
component.cpp
fixed_size_allocator.cpp
injector_storage.cpp
normalized_component_storage.cpp
normalized_component_storage_holder.cpp
semistatic_map.cpp
semistatic_graph.cpp
fruit.vcxproj -> C:\Users\Marco.conan\data\fruit\3.6.0__\build\164640aad040835ac89882393a96d89200694f04\lib\fruit.lib
Building Custom Rule C:/Users/Marco/.conan/data/fruit/3.6.0///build/164640aad040835ac89882393a96d89200694f04/source_subfolder/CMakeLists.txt
fruit/3.6.0: Package '164640aad040835ac89882393a96d89200694f04' built
fruit/3.6.0: Build folder C:\Users\Marco.conan\data\fruit\3.6.0__\build\164640aad040835ac89882393a96d89200694f04
fruit/3.6.0: Generated conaninfo.txt
fruit/3.6.0: Generated conanbuildinfo.txt
fruit/3.6.0: Generating the package
fruit/3.6.0: Package folder C:\Users\Marco.conan\data\fruit\3.6.0__\package\164640aad040835ac89882393a96d89200694f04
fruit/3.6.0: Calling package()
MSBuild version 17.4.0+18d5aef85 for .NET Framework
fruit.vcxproj -> C:\Users\Marco.conan\data\fruit\3.6.0__\build\164640aad040835ac89882393a96d89200694f04\lib\fruit.lib
-- Install configuration: "Debug"
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/component.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/component_function.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/fruit.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/fruit_forward_decls.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/bindings.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_function.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_functors.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_install_arg_checks.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_install_arg_checks.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_storage
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_storage/binding_deps.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_storage/binding_deps.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_storage/component_storage.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_storage/component_storage.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_storage/component_storage_entry.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_storage/component_storage_entry.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_storage/partial_component_storage.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/component_storage/partial_component_storage.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/arena_allocator.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/arena_allocator.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/fixed_size_allocator.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/fixed_size_allocator.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/fixed_size_vector.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/fixed_size_vector.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/fixed_size_vector.templates.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/memory_pool.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/memory_pool.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/packed_pointer_and_bool.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/packed_pointer_and_bool.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/semistatic_graph.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/semistatic_graph.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/semistatic_graph.templates.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/semistatic_map.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/semistatic_map.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/data_structures/semistatic_map.templates.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/fruit-config.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/fruit_assert.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/fruit_internal_forward_decls.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/injection_debug_errors.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/injection_errors.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/injector
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/injector/injector_accessor_for_tests.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/injector/injector_accessor_for_tests.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/injector/injector_storage.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/injector/injector_storage.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/injector.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/algos.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/basics.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/component.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/errors.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/eval.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/fold.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/graph.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/immutable_map.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/immutable_set.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/list.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/logical_operations.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/map.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/metaprogramming.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/numeric_operations.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/pair.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/proof_trees.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/proof_tree_comparison.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/set.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/signatures.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/triplet.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/vector.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta/wrappers.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/meta_operation_wrappers.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/normalized_component.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/normalized_component_storage
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/normalized_component_storage/binding_normalization.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/normalized_component_storage/binding_normalization.templates.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/normalized_component_storage/normalized_bindings.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/normalized_component_storage/normalized_bindings.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/normalized_component_storage/normalized_component_storage.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/normalized_component_storage/normalized_component_storage.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/normalized_component_storage/normalized_component_storage_holder.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/provider.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/util
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/util/call_with_tuple.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/util/demangle_type_name.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/util/hash_codes.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/util/hash_codes.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/util/hash_helpers.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/util/hash_helpers.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/util/lambda_invoker.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/util/type_info.defn.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/util/type_info.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/injector.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/macro.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/normalized_component.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/provider.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/include/fruit/impl/fruit-config-base.h
-- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0///package/164640aad040835ac89882393a96d89200694f04/lib/fruit.lib
fruit/3.6.0 package(): Packaged 91 '.h' files
fruit/3.6.0 package(): Packaged 1 '.lib' file: fruit.lib
fruit/3.6.0 package(): Packaged 1 file: COPYING
fruit/3.6.0: Package '164640aad040835ac89882393a96d89200694f04' created
fruit/3.6.0: Created package revision f187e5cc00c29c38f561327001d6e429
fruit/3.6.0 (test package): Generator txt created conanbuildinfo.txt
fruit/3.6.0 (test package): Generator cmake created conanbuildinfo.cmake
fruit/3.6.0 (test package): Aggregating env generators
fruit/3.6.0 (test package): Generated conaninfo.txt
fruit/3.6.0 (test package): Generated graphinfo
Using lockfile: 'C:\Users\Marco\source\repos\fruit\test_package\build\beaa784904b3a833773c279b887017cc2c0c6342/conan.lock'
Using cached profile from lockfile
fruit/3.6.0 (test package): Calling build()
-- Selecting Windows SDK version 10.0.20348.0 to target Windows 10.0.19044.
-- The CXX compiler identification is MSVC 19.34.31933.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: called by CMake conan helper
-- Conan: Adjusting output directories
-- Conan: Using cmake global configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:

CMAKE_EXPORT_NO_PACKAGE_REGISTRY
CMAKE_INSTALL_BINDIR
CMAKE_INSTALL_DATAROOTDIR
CMAKE_INSTALL_INCLUDEDIR
CMAKE_INSTALL_LIBDIR
CMAKE_INSTALL_LIBEXECDIR
CMAKE_INSTALL_OLDINCLUDEDIR
CMAKE_INSTALL_SBINDIR

-- Build files have been written to: C:/Users/Marco/source/repos/fruit/test_package/build/beaa784904b3a833773c279b887017cc2c0c6342
MSBuild version 17.4.0+18d5aef85 for .NET Framework
Checking Build System
Building Custom Rule C:/Users/Marco/source/repos/fruit/test_package/CMakeLists.txt
example.cpp
C:\Users\Marco.conan\data\fruit\3.6.0__\package\164640aad040835ac89882393a96d89200694f04\include\fruit/impl/data_structures/memory_pool.defn.h(55,1): warning C4141: 'inline': used more than once [C:\Users\Marco\source\repos\fruit\test_package\build\beaa784904b3a833773c279b887017cc2c0c6342\example.vcxproj]
C:\Users\Marco.conan\data\fruit\3.6.0__\package\164640aad040835ac89882393a96d89200694f04\include\fruit/impl/data_structures/fixed_size_allocator.defn.h(66,1): warning C4141: 'inline': used more than once [C:\Users\Marco\source\repos\fruit\test_package\build\beaa784904b3a833773c279b887017cc2c0c6342\example.vcxpro
j]
C:\Users\Marco.conan\data\fruit\3.6.0__\package\164640aad040835ac89882393a96d89200694f04\include\fruit/impl/component_install_arg_checks.defn.h(29,1): warning C4141: 'inline': used more than once [C:\Users\Marco\source\repos\fruit\test_package\build\beaa784904b3a833773c279b887017cc2c0c6342\example.vcxproj]
example.vcxproj -> C:\Users\Marco\source\repos\fruit\test_package\build\beaa784904b3a833773c279b887017cc2c0c6342\bin\example.exe
Building Custom Rule C:/Users/Marco/source/repos/fruit/test_package/CMakeLists.txt
fruit/3.6.0 (test package): Running test()

Did you use a different command?
One difference I see is that I used Visual Studio 17.4.0 (latest available stable version ATM) vs 17.3.1 in your log.
Not sure if that makes a difference, or if you set some other option that triggers that compiler crash.

I noticed that my log has -- Conan setting CPP STANDARD: 20 WITH EXTENSIONS OFF and not yours.

So I tried using cppstd=20 instead of compiler.cppstd=20 and now it works on my machine too.

I'm reporting this to conan.

EDIT: I think this is a bug because Conan seems to recommend using compiler.cppstd:

ERROR: Do not use settings 'compiler.cppstd' together with 'cppstd'. Use only the former one.

So it appears that using cppstd=20 is obsolete and doesn't actually compiles in C++20.

Could you please try again with compiler.cppstd=20?

Thanks!

TL;DR still no luck in repro-ing....

C:\Users\Marco\source\repos\fruit>conan create . -o fruit:use_boost=False -s arch=x86_64 -s build_type=Debug -s compiler="Visual Studio" -s compiler.runtime=MDd -s compiler.version=17 -s compiler.cppstd=20 -s os=Windows -s os_build=Windows
Exporting package recipe
fruit/3.6.0 exports: Copied 1 file: COPYING
fruit/3.6.0: The stored package has not changed
fruit/3.6.0: Exported revision: c84c60a05c5b224727d9f2708a831b74
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Debug
compiler=Visual Studio
compiler.cppstd=20
compiler.runtime=MDd
compiler.version=17
os=Windows
os_build=Windows
[options]
fruit:use_boost=False
[build_requires]
[env]

fruit/3.6.0: Forced build from source
fruit/3.6.0 (test package): Installing package
Requirements
    fruit/3.6.0 from local cache - Cache
Packages
    fruit/3.6.0:255fef913b09852b9ac19f13fe91677114965382 - Build

Installing (downloading, building) binaries...
fruit/3.6.0: Copying sources to build folder
fruit/3.6.0: Building your package in C:\Users\Marco\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe91677114965382
fruit/3.6.0: Generator cmake created conanbuildinfo.cmake
fruit/3.6.0: Aggregating env generators
fruit/3.6.0: Calling build()
-- Selecting Windows SDK version 10.0.20348.0 to target Windows 10.0.19044.
-- The CXX compiler identification is MSVC 19.34.31933.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: called by CMake conan helper
-- Conan: called inside local cache
-- Conan: Adjusting output directories
-- Conan: Using cmake global configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Conan setting CPP STANDARD: 20 WITH EXTENSIONS OFF
-- Performing Test FRUIT_TRIVIAL_SOURCE_COMPILES
-- Performing Test FRUIT_TRIVIAL_SOURCE_COMPILES - Success
-- Performing Test FRUIT_HAS_CLANG_ARBITRARY_OVERLOAD_RESOLUTION_BUG
-- Performing Test FRUIT_HAS_CLANG_ARBITRARY_OVERLOAD_RESOLUTION_BUG - Success
-- Performing Test FRUIT_HAS_HAS_TRIVIAL_COPY
-- Performing Test FRUIT_HAS_HAS_TRIVIAL_COPY - Success
-- Performing Test FRUIT_HAS_IS_TRIVIALLY_COPYABLE
-- Performing Test FRUIT_HAS_IS_TRIVIALLY_COPYABLE - Success
-- Performing Test FRUIT_HAS_MAX_ALIGN_T
-- Performing Test FRUIT_HAS_MAX_ALIGN_T - Success
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPYABLE
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPYABLE - Success
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPY_CONSTRUCTIBLE
-- Performing Test FRUIT_HAS_STD_IS_TRIVIALLY_COPY_CONSTRUCTIBLE - Success
-- Performing Test FRUIT_HAS_STD_MAX_ALIGN_T
-- Performing Test FRUIT_HAS_STD_MAX_ALIGN_T - Success
-- Performing Test FRUIT_HAS_TYPEID
-- Performing Test FRUIT_HAS_TYPEID - Success
-- Performing Test FRUIT_HAS_CONSTEXPR_TYPEID
-- Performing Test FRUIT_HAS_CONSTEXPR_TYPEID - Success
-- Performing Test FRUIT_HAS_CXA_DEMANGLE
-- Performing Test FRUIT_HAS_CXA_DEMANGLE - Failed
-- Performing Test FRUIT_HAS_ALWAYS_INLINE_ATTRIBUTE
-- Performing Test FRUIT_HAS_ALWAYS_INLINE_ATTRIBUTE - Failed
-- Performing Test FRUIT_HAS_FORCEINLINE
-- Performing Test FRUIT_HAS_FORCEINLINE - Success
-- Performing Test FRUIT_HAS_ATTRIBUTE_DEPRECATED
-- Performing Test FRUIT_HAS_ATTRIBUTE_DEPRECATED - Success
-- Performing Test FRUIT_HAS_GCC_ATTRIBUTE_DEPRECATED
-- Performing Test FRUIT_HAS_GCC_ATTRIBUTE_DEPRECATED - Failed
-- Performing Test FRUIT_HAS_DECLSPEC_DEPRECATED
-- Performing Test FRUIT_HAS_DECLSPEC_DEPRECATED - Success
-- Performing Test FRUIT_HAS_MSVC_ASSUME
-- Performing Test FRUIT_HAS_MSVC_ASSUME - Success
-- Performing Test FRUIT_HAS_BUILTIN_UNREACHABLE
-- Performing Test FRUIT_HAS_BUILTIN_UNREACHABLE - Failed
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_EXPORT_NO_PACKAGE_REGISTRY
    FRUIT_TESTS_USE_PRECOMPILED_HEADERS


-- Build files have been written to: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/build/255fef913b09852b9ac19f13fe91677114965382
MSBuild version 17.4.0+18d5aef85 for .NET Framework
  Checking Build System
  Building Custom Rule C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/build/255fef913b09852b9ac19f13fe91677114965382/source_subfolder/src/CMakeLists.txt
  memory_pool.cpp
  binding_normalization.cpp
  demangle_type_name.cpp
  component.cpp
  fixed_size_allocator.cpp
  injector_storage.cpp
  normalized_component_storage.cpp
  normalized_component_storage_holder.cpp
  semistatic_map.cpp
  semistatic_graph.cpp
  fruit.vcxproj -> C:\Users\Marco\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe91677114965382\lib\fruit.lib
  Building Custom Rule C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/build/255fef913b09852b9ac19f13fe91677114965382/source_subfolder/CMakeLists.txt
fruit/3.6.0: Package '255fef913b09852b9ac19f13fe91677114965382' built
fruit/3.6.0: Build folder C:\Users\Marco\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe91677114965382
fruit/3.6.0: Generated conaninfo.txt
fruit/3.6.0: Generated conanbuildinfo.txt
fruit/3.6.0: Generating the package
fruit/3.6.0: Package folder C:\Users\Marco\.conan\data\fruit\3.6.0\_\_\package\255fef913b09852b9ac19f13fe91677114965382
fruit/3.6.0: Calling package()
MSBuild version 17.4.0+18d5aef85 for .NET Framework
  fruit.vcxproj -> C:\Users\Marco\.conan\data\fruit\3.6.0\_\_\build\255fef913b09852b9ac19f13fe91677114965382\lib\fruit.lib
  -- Install configuration: "Debug"
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/component.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/component_function.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/fruit.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/fruit_forward_decls.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/bindings.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_function.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_functors.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_install_arg_checks.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_install_arg_checks.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_storage
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_storage/binding_deps.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_storage/binding_deps.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_storage/component_storage.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_storage/component_storage.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_storage/component_storage_entry.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_storage/component_storage_entry.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_storage/partial_component_storage.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/component_storage/partial_component_storage.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/arena_allocator.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/arena_allocator.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/fixed_size_allocator.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/fixed_size_allocator.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/fixed_size_vector.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/fixed_size_vector.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/fixed_size_vector.templates.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/memory_pool.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/memory_pool.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/packed_pointer_and_bool.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/packed_pointer_and_bool.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/semistatic_graph.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/semistatic_graph.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/semistatic_graph.templates.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/semistatic_map.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/semistatic_map.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/data_structures/semistatic_map.templates.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/fruit-config.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/fruit_assert.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/fruit_internal_forward_decls.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/injection_debug_errors.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/injection_errors.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/injector
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/injector/injector_accessor_for_tests.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/injector/injector_accessor_for_tests.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/injector/injector_storage.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/injector/injector_storage.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/injector.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/algos.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/basics.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/component.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/errors.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/eval.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/fold.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/graph.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/immutable_map.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/immutable_set.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/list.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/logical_operations.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/map.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/metaprogramming.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/numeric_operations.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/pair.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/proof_trees.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/proof_tree_comparison.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/set.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/signatures.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/triplet.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/vector.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta/wrappers.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/meta_operation_wrappers.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/normalized_component.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/normalized_component_storage
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/normalized_component_storage/binding_normalization.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/normalized_component_storage/binding_normalization.templates.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/normalized_component_storage/normalized_bindings.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/normalized_component_storage/normalized_bindings.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/normalized_component_storage/normalized_component_storage.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/normalized_component_storage/normalized_component_storage.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/normalized_component_storage/normalized_component_storage_holder.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/provider.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/util
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/util/call_with_tuple.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/util/demangle_type_name.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/util/hash_codes.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/util/hash_codes.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/util/hash_helpers.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/util/hash_helpers.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/util/lambda_invoker.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/util/type_info.defn.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/util/type_info.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/injector.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/macro.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/normalized_component.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/provider.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/include/fruit/impl/fruit-config-base.h
  -- Installing: C:/Users/Marco/.conan/data/fruit/3.6.0/_/_/package/255fef913b09852b9ac19f13fe91677114965382/lib/fruit.lib
fruit/3.6.0 package(): Packaged 91 '.h' files
fruit/3.6.0 package(): Packaged 1 '.lib' file: fruit.lib
fruit/3.6.0 package(): Packaged 1 file: COPYING
fruit/3.6.0: Package '255fef913b09852b9ac19f13fe91677114965382' created
fruit/3.6.0: Created package revision 2151d78e7752a7d5503953cfe9a0fc3a
fruit/3.6.0 (test package): Generator txt created conanbuildinfo.txt
fruit/3.6.0 (test package): Generator cmake created conanbuildinfo.cmake
fruit/3.6.0 (test package): Aggregating env generators
fruit/3.6.0 (test package): Generated conaninfo.txt
fruit/3.6.0 (test package): Generated graphinfo
Using lockfile: 'C:\Users\Marco\source\repos\fruit\test_package\build\1837b76b0057a57d6e3b99d3b06fffdd8c01a6c4/conan.lock'
Using cached profile from lockfile
fruit/3.6.0 (test package): Calling build()
-- Selecting Windows SDK version 10.0.20348.0 to target Windows 10.0.19044.
-- The CXX compiler identification is MSVC 19.34.31933.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: called by CMake conan helper
-- Conan: Adjusting output directories
-- Conan: Using cmake global configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Conan setting CPP STANDARD: 20 WITH EXTENSIONS OFF
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_EXPORT_NO_PACKAGE_REGISTRY
    CMAKE_INSTALL_BINDIR
    CMAKE_INSTALL_DATAROOTDIR
    CMAKE_INSTALL_INCLUDEDIR
    CMAKE_INSTALL_LIBDIR
    CMAKE_INSTALL_LIBEXECDIR
    CMAKE_INSTALL_OLDINCLUDEDIR
    CMAKE_INSTALL_SBINDIR


-- Build files have been written to: C:/Users/Marco/source/repos/fruit/test_package/build/1837b76b0057a57d6e3b99d3b06fffdd8c01a6c4
MSBuild version 17.4.0+18d5aef85 for .NET Framework
  Checking Build System
  Building Custom Rule C:/Users/Marco/source/repos/fruit/test_package/CMakeLists.txt
  example.cpp
  example.vcxproj -> C:\Users\Marco\source\repos\fruit\test_package\build\1837b76b0057a57d6e3b99d3b06fffdd8c01a6c4\bin\example.exe
  Building Custom Rule C:/Users/Marco/source/repos/fruit/test_package/CMakeLists.txt
fruit/3.6.0 (test package): Running test()

Can you repro with this command on your system?
If so, maybe try updating Visual Studio to the latest available version?

Could you share the exact command that you used to build Fruit?

TBH I'm a bit of a noob with Conan, so not sure if I'm doing sth wrong.
I have seen those sort of compiler errors from MSVC in the past, so it seems plausible that there's sth new to workaround in the latest version, maybe with just a specific combination of flags.
But until I can repro I can't really do anything about it...

I wasn't confident that updating Visual Studio could fix the problem because I had tried the "preview" version about a week ago with no luck.

But then I updated my Visual Studio to reproduce exactly your conditions and the error went away 🥳

Thanks for your help!

Great!