Clang 20 adds -Wnontrivial-memcall which emits a warning if you memcpy or memset a struct that isn’t a POD. This warnings is enabled by default. juce should build cleanly with this warning enabled.
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'hb_hashmap_t<unsigned int, hb_vector_t<unsigned int>>::item_t' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'hb_hashmap_t<unsigned int, Triple>' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'hb_inc_bimap_t' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'OT::tuple_delta_t' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'hb_hashmap_t<const hb_vector_t<bool> *, hb_vector_t<char>>::item_t' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'OT::TupleVariationData::tuple_variations_t' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'hb_vector_t<int>' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'OT::delta_row_encoding_t' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'OT::index_map_subset_plan_t' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'hb_set_t' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'CFF::parsed_cs_str_t' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'CFF::cff2_font_dict_values_t' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
C:\actions-runner\_work\Nexus\Nexus\modules\JUCE\modules\juce_graphics/fonts/harfbuzz\hb-null.hh(179,11): error : first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'CFF::cff2_private_dict_values_base_t<CFF::op_str_t>' [-Werror,-Wnontrivial-memcall] [C:\actions-runner\_work\Nexus\Nexus\Builds\vs\Nexus.vcxproj]
