`<xutility>`: 使用 Clang-CL 中的结构体默认的等价性比较时,std::find 不再能够编译。
作者: mgovers创建于 2026年5月20日更新于 2026年9月10日
标签bug
说明错误
std::find 和 std::ranges::find (均标准在 <algorithm> 中,但实现在 <xutility> 中) 早已能够处理具有默认等价性比较的结构体(在 C++20 标准中扩展了此行为)。然而,最近针对 LLVM 使用的优化导致了回退(https://GitHub.com/microsoft/STL/issues/5479 和具体地 https://GitHub.com/microsoft/STL/pull/5767/changes#diff-980098f27df5ad089b2a93a8489574cfcab50f4b9d9c55524b0a57444a4c664eR6137-R6138)。特别是,具有 sizeof 为 1、2、4 或 8 以外的类型,且具有默认等价性比较运算符的类型,无法编译。
内容来源: microsoft/STL