{"id":37041,"date":"2026-10-15T20:07:03","date_gmt":"2026-10-15T20:07:03","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=37041"},"modified":"2026-10-15T20:07:03","modified_gmt":"2026-10-15T20:07:03","slug":"msvc-build-tools-version-14-52-release-candidate-now-available","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/msvc-build-tools-version-14-52-release-candidate-now-available\/","title":{"rendered":"MSVC Build Tools Version 14.52 Release Candidate Now Available"},"content":{"rendered":"<p>We are pleased to announce the availability of the release candidate for Microsoft C++ (MSVC) Build Tools version 14.52. With this release, C++23 is ready for production use and available through the \/std:c++23 compiler option; see below for details. This is the last MSVC v14.52 preview before it moves to stable status and full support. You can download it from the <a href=\"https:\/\/visualstudio.microsoft.com\/insiders\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual Studio 2026 Insiders Channel (Opens in new window or tab)\">Visual Studio 2026 Insiders Channel<\/a>. As this is the release candidate, it is now the default toolset installed with C++ workloads in this channel. To check if it\u2019s installed simply make sure one or both of these components are checked in the installer:<\/p>\n<ol>\n<li>MSVC Build Tools for x64\/x86 (Latest)<\/li>\n<li>MSVC Build Tools for ARM64\/ARM64EC (Latest)<\/li>\n<\/ol>\n<p>The version number printed by cl.exe and link.exe will be at least 14.52.37025 \/ 19.52.37025.<\/p>\n<p>We appreciate any feedback that you may have. Please report any issues on <a href=\"https:\/\/developercommunity.visualstudio.com\/cpp\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual Studio Developer Community (Opens in new window or tab)\">Visual Studio Developer Community<\/a> so we can address them by the time we move out of preview.<\/p>\n<p>Version 14.52 is expected to go stable in November and will ship with the 18.12 release of Visual Studio (Stable Channel).<\/p>\n<p>This post summarizes the work done by the MSVC team between the 14.51 and 14.52 releases. This encompasses changes across the compiler frontend, backend, linker, standard library, and related tools.<\/p>\n<h2 id=\"user-content-c%2B%2B-standards-conformance\">C++ standards conformance<\/h2>\n<ul>\n<li><strong>C++23 language mode:<\/strong> Use <code>\/std:c++23<\/code> to select C++23 language rules. The existing <code>\/std:c++23preview<\/code> spelling still works and is an alias for <code>\/std:c++23<\/code>. The preview form is now deprecated and will be removed in a future update.<\/li>\n<li><strong>Immediate escalation:<\/strong> C++23 immediate escalation (P2564R3) lets eligible <code>constexpr<\/code> functions and lambdas become immediate when their use requires it. It is enabled in C++23 and later modes; C++20 builds can opt in with <code>\/Zc:immediateEscalation<\/code>.<\/li>\n<li><strong>Unicode identifiers:<\/strong> C++23 and C23 modes recognize the mathematical compatibility identifier ranges from P3658R1.<\/li>\n<li><strong>Constexpr allocation in modules:<\/strong> Module interfaces can represent <code>constexpr<\/code> functions that contain <code>new T[n]<\/code> expressions.<\/li>\n<li><strong>Preprocessor behavior:<\/strong> <code>_Pragma<\/code> works in more macro-expansion cases and is supported under <code>\/E<\/code>.<\/li>\n<li><strong>Constexpr cmath:<\/strong> Support for C++ compile-time cmath functions remains off-by-default under \/std:c++23 and may be enabled via the \/Zc:cmath switch. Please see <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/msvc-c23-constexpr-cmath-with-llvm-libc\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"https:\/\/devblogs.microsoft.com\/cppblog\/msvc-c23-constexpr-cmath-with-llvm-libc\/ (Opens in new window or tab)\">https:\/\/devblogs.microsoft.com\/cppblog\/msvc-c23-constexpr-cmath-with-llvm-libc\/<\/a> for additional details.<\/li>\n<\/ul>\n<h2 id=\"user-content-c%2B%2B%2Fcli%2C-c%2C-and-language-tooling\">C++\/CLI, C, and language tooling<\/h2>\n<ul>\n<li><code>\/clr<\/code> is now available in C++23 and later modes.<\/li>\n<li>The opt-in <code>\/Zc:functionToObjectPtr<\/code> switch rejects implicit conversions from function pointers to <code>void*<\/code>.<\/li>\n<li>The compiler now accepts selected <code>constexpr<\/code> constructor-template instantiations involving virtual base classes. Constructing those virtual bases during constant evaluation remains unsupported, so this is limited to the declaration checks for a <code>constexpr<\/code> function.<\/li>\n<li>In C code, C4815 and C4816 now warn when a structure is allocated without storage for its flexible array member or when a structure with a flexible array member is passed by value.<\/li>\n<li>The Linux C++ IntelliSense parser maps C++20 and C++23 standard options to the corresponding language modes.<\/li>\n<li>Argument-dependent lookup now handles more names that are not exported from a module, and nested template and module instantiation is less prone to failure.<\/li>\n<li>Module serialization preserves class data members and template information more consistently. Type merging also works better when several modules share a header unit.<\/li>\n<li>Header units preserve macro whitespace so stringized macros survive a round trip. Module processing also handles types first defined in the global module fragment more reliably.<\/li>\n<li>Math intrinsics and math headers now work more consistently with modules and constant evaluation.<\/li>\n<li>Caret diagnostics use less memory, and several diagnostics reproduce the original source expression more accurately.<\/li>\n<li>Preprocessor diagnostics better identify malformed and nested constant expressions.<\/li>\n<li>The compiler handles invalid type-trait inputs and malformed function-parameter scopes more consistently.<\/li>\n<li>The compiler warns when overriding a deprecated non-pure virtual function.<\/li>\n<\/ul>\n<h2 id=\"user-content-code-generation-and-optimization\">Code generation and optimization<\/h2>\n<p><strong>Inlining:<\/strong><\/p>\n<ul>\n<li>LTCG now considers which fields of a small return object the caller reads, so inlining can discard work that computes unused fields.<\/li>\n<li>Whole-program optimization can favor an inline when doing so exposes parts of a local object and makes unused stores removable.<\/li>\n<li>A large outlined loop body can now inline through a small wrapper called from a loop.<\/li>\n<li>With PGO, small size-optimized virtual-call targets can be speculatively inlined when the profile, size, and growth limits allow it.<\/li>\n<li>The inliner follows function-pointer values through aggregate assignments, preserving more indirect-call opportunities in template adapters.<\/li>\n<li>Type-based devirtualization now works alongside profile-guided inlining. Hot\/cold information also does more to prevent cold code from being pulled into hot callers.<\/li>\n<\/ul>\n<p><strong>Loop and scalar optimization:<\/strong><\/p>\n<ul>\n<li>The compiler can move more invariant loads out of loops after proving that each load executes on every iteration and remains safe across aliased pointers.<\/li>\n<li>Equality-tested loops shed more loop-carried work, and strength reduction handles more wrapping integer induction expressions.<\/li>\n<li>When three or more multiplications share a divisor, the optimizer can compute one reciprocal and reuse it instead of restoring repeated divisions.<\/li>\n<li>Copy propagation through aliased fields is on by default and understands known-size <code>memcpy<\/code> and <code>memset<\/code> operations.<\/li>\n<li>x64 conditional selection handles more nonzero constants and safe aliased operands.<\/li>\n<li>Unsigned comparisons and induction-variable ranges now establish more nonzero, ordering, and non-overflow facts for later optimization.<\/li>\n<li>Scalar conditional expressions gain more value-equivalence, incoming-value, multiply, and shift simplifications.<\/li>\n<li>Calls use <code>restrict<\/code> arguments more precisely when determining memory interference, exposing more optimization around those calls.<\/li>\n<li>The x86 optimizer performs more local and cross-block copy propagation.<\/li>\n<li>The compiler recognizes more rotate idioms and dynamic bit-field extraction controls, and removes redundant POPCNT zero extension.<\/li>\n<li>Small-aggregate optimization removes padding-only assignments, decomposes qualifying whole-struct loads, and forwards eligible loads through local <code>memcpy<\/code> operations.<\/li>\n<li>Constant conversions can fold without <code>\/fp:fast<\/code> when the transformation is otherwise valid.<\/li>\n<li>Earlier loop-invariant motion and broader expression reassociation expose more work to later optimization.<\/li>\n<li>Larger functions reuse more repeated expressions. Min\/max expressions, mixed-signedness compare diamonds, and repeated vector-element extraction also simplify in more cases.<\/li>\n<li>More indirect calls to <code>noexcept<\/code> functions become tail calls. Static constant arrays can also disappear when their storage is unnecessary.<\/li>\n<li>Loop unswitching handles more nested-loop cases before vectorization, while straight-line vectorization handles more merged values.<\/li>\n<li>Jump chains and induction variables simplify in more cases without losing useful predicates or signedness information.<\/li>\n<li>The compiler emits less attribute data, scans exception regions fewer times, bounds pathological dead-use searches, and processes large chained function expressions in linear rather than quadratic time.<\/li>\n<\/ul>\n<p><strong>Vectorization:<\/strong><\/p>\n<ul>\n<li>On x64 and ARM64, the compiler vectorizes more code that selects values through branches.<\/li>\n<li>Integer reductions such as <code>sum += a[i] - b[i]<\/code> can be reassociated into a form the loop vectorizer recognizes.<\/li>\n<li>On x64 and ARM64, vector loads and stores reach copy propagation and scalar replacement earlier. Full-width vectors remain intact when splitting them would discard useful vector operations.<\/li>\n<li>The vectorizer recognizes more adjacent-address patterns and is more willing to pack user-written SIMD values when the result can remain in a vector register.<\/li>\n<li>A parameter-derived pointer advanced by a loop is recognized as non-aliasing a local array in more cases, avoiding an unnecessary runtime overlap check.<\/li>\n<li>The loop vectorizer handles qualifying memory-only swaps and multi-stream copies, including <code>std::swap<\/code> on arrays of trivial types.<\/li>\n<li>More loop-control expressions shared by a following conditional simplify after the loop.<\/li>\n<\/ul>\n<h2 id=\"user-content-arm64\">ARM64<\/h2>\n<ul>\n<li>ARM64 now shares address calculations across related loads and stores, including array-of-structures loops based on function parameters. This removes repeated arithmetic and creates more opportunities for paired loads and stores.<\/li>\n<li>Known NEON constants can be built without unnecessary data loads. Scalar loads, broadcasts, and lane inserts also fold into NEON load instructions in more cases.<\/li>\n<li>The compiler combines more NEON construction and lane operations, removes unused lane inserts, and eliminates redundant mask comparisons.<\/li>\n<li>The loop vectorizer now handles additional <code>floor<\/code>, <code>ceil<\/code>, <code>trunc<\/code>, and <code>round<\/code> operations.<\/li>\n<li>Tail-call decisions are now made per call, so one ineligible call no longer blocks another eligible call in the same function.<\/li>\n<li>ARM64 and ARM64EC inlining accounts for floating-point and vector register pressure. This preserves profitable native ARM64 inlines while avoiding excessive spills on restricted ARM64EC targets.<\/li>\n<li>Native ARM64 SVE2 supports code generation and disassembly for lane-indexed <code>svmullb<\/code> and <code>svmullt<\/code> intrinsics. Execution requires SVE2-capable hardware.<\/li>\n<li>LUTI2 and LUTI4 lookup-table support includes BF16 forms. Floating-point absolute minimum\/maximum instructions and Common Short Sequence Compression operations are also supported. Each family requires the corresponding processor feature.<\/li>\n<li><code>ARM64_FPMR<\/code> names the FPMR register for <code>_ReadStatusReg<\/code> and <code>_WriteStatusReg<\/code>; armasm64 and the disassembler recognize the same name. Execution requires FEAT_FPMR hardware and OS permission.<\/li>\n<li>Native ARM64 supports <code>__preserve_none<\/code> and <code>[[msvc::musttail]]<\/code>, including specialized interpreter dispatch. The <code>__preserve_none<\/code> calling convention is C-only and is not supported on ARM64EC.<\/li>\n<li>With <code>\/feature:sme<\/code>, the compiler accepts SME attributes and ZA-state types on supported external declarations. Eligible scalar <code>noexcept<\/code> calls can perform the required streaming-mode transitions, including selected function-pointer, reference, whole-program, and Control Flow Guard cases. Streaming function definitions, ZA-bearing calls, unsupported pointer forms, and vector or aggregate arguments remain unsupported. ARM64EC is excluded.<\/li>\n<li>The native ARM64 CRT supplies the AAPCS64 SME state-management routines for TPIDR2, ZA, and ZT0. Availability depends on processor and operating-system state support; ARM64EC is excluded.<\/li>\n<li>On ARM64, the <code>\/Zc:cmath<\/code> math runtime now supports the floating-point environment. This initial implementation reports math errors through floating-point exceptions rather than <code>errno<\/code>.<\/li>\n<li>ARM64 stack layout can reuse slots for locals in mutually exclusive switch cases, greatly reducing the frame size of large switches.<\/li>\n<li>Stateless SVE all-true predicates can move out of loops when the usual safety and profitability checks allow it.<\/li>\n<li>Proven-dead switch edges are removed before switch expansion, exposing more control-flow and value optimizations.<\/li>\n<li>Bitfield operations use narrower immediate forms where possible.<\/li>\n<li>Register assignment preserves more adjacent load pairs and makes better spill\/rematerialization choices for frequently used values.<\/li>\n<li>Used-lane tracking now crosses more scalar floating-point operations, exposing dead vector work.<\/li>\n<li>The compiler recognizes more vector permutations, per-lane rotations, and vector bit-clear immediate forms.<\/li>\n<li>SVE comparisons and the MATCH\/NMATCH\/WHILE families reuse condition flags more effectively. NEON-to-SVE bridge moves, upper-lane float extraction, and by-element multiply addressing also produce shorter sequences.<\/li>\n<\/ul>\n<h2 id=\"user-content-x64-and-x86\">x64 and x86<\/h2>\n<ul>\n<li>Speed-optimized x64 builds have more strategies for fixed-length <code>memcmp<\/code>. Eligible copies larger than 256 bytes use the runtime copy path instead of a large inline sequence.<\/li>\n<li>x64 removes more redundant zero extensions before jump-table address calculations and lowers unsigned division by a constant power of two to a shift.<\/li>\n<li>Constant <code>f64x2<\/code> assignments can combine so a later vector operation folds to one 128-bit constant move.<\/li>\n<li>32-bit x86 builds can inline <code>fmin<\/code>, <code>fmax<\/code>, and <code>copysign<\/code>; ARM64 can inline <code>copysign<\/code>.<\/li>\n<li>AVX2 and AVX-512 targets can build wider vectors from smaller register values without a memory round trip.<\/li>\n<li>AVX-512 code generation uses suitable VEX moves for intrinsic operands and folds eligible single-use masked arithmetic followed by a blend into one merge-masked operation.<\/li>\n<li>Builds using <code>\/feature:APX<\/code> gain more arithmetic and conditional-selection forms, fewer redundant moves and comparisons, and APX-aware unrolling and strength-reduction decisions for scalar integer loops.<\/li>\n<li>APX support now spans the ABI, assembler, disassembler, and debugging tools. R30 and R31 are nonvolatile, register assignment treats them as killed across <code>setjmp<\/code>, MASM and the disassembler handle eligible extended-register encodings, and DIA reads APX register context.<\/li>\n<li>APX-enabled x64 code generation can fold eligible operands and makes better spill, recomputation, and fold choices.<\/li>\n<li>Unwind V3 support now spans code generation, linking, ML64, DIA, and binary instrumentation. It covers chained runtime-function records, large prologs and epilogs, <code>.PUSHFRAME<\/code>\/<code>.POPFRAME<\/code>, and stack walking. ML64 requires <code>\/unwindv3<\/code>; compiler emission is on by default only for APX functions, and stack walking requires a V3-aware operating system and debugger.<\/li>\n<li>x64 recognizes more condition-code-safe <code>INC<\/code>\/<code>DEC<\/code> forms, including eligible atomic fetch-add sequences.<\/li>\n<li>AVX2 intrinsic lowering removes unnecessary scalar-to-vector moves in qualifying <code>_mm_set_sd<\/code> and <code>_mm256_set1_pd<\/code> paths.<\/li>\n<li>APX code generation includes more new-destination and memory-operand forms, shorter LEA replacements for eligible INC\/DEC and SUB sequences, and broader shift, compare, conditional-compare, conditional-move, and constant-propagation support.<\/li>\n<li>All-bits-set vector constants and functions containing paired register operations receive better code generation.<\/li>\n<li>Shift-range analysis models the hardware shift-count mask, and adjacent two-element double stores combine more effectively.<\/li>\n<li>Under <code>\/O1<\/code> and <code>\/Os<\/code>, additional pre-allocation optimizations and size-aware instruction costs reduce code size.<\/li>\n<li>RDPRU uses its required fixed-register constraints.<\/li>\n<\/ul>\n<h2 id=\"user-content-standard-library\">Standard Library<\/h2>\n<p>See the <a href=\"https:\/\/github.com\/microsoft\/STL\/wiki\/Changelog#msvc-build-tools-1452\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"STL Changelog - MSVC Build Tools 14.52 (Opens in new window or tab)\">STL Changelog &#8211; MSVC Build Tools 14.52<\/a> for a complete list of all of the changes in this release, grouped by features, LWG issue resolutions, bug fixes, performance improvements, etc. Some highlights:<\/p>\n<ul>\n<li>The STL is <strong>C++23 feature complete<\/strong> now that <a href=\"https:\/\/wg21.link\/P0533R9\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"P0533R9 (Opens in new window or tab)\">P0533R9<\/a> &#8220;<code>constexpr<\/code> For <code>&lt;cmath&gt;<\/code> And <code>&lt;cstdlib&gt;<\/code>&#8221; has been implemented.\n<ul>\n<li>This is initially supported for MSVC only, under <code>\/std:c++23 \/Zc:cmath<\/code>. We expect to make <code>\/std:c++23<\/code> imply <code>\/Zc:cmath<\/code> in a future release, but it is currently opt-in. Clang and EDG support will be enabled when the necessary compiler machinery becomes available.<\/li>\n<li>For more info, read <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/msvc-c23-constexpr-cmath-with-llvm-libc\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++23: constexpr cmath with LLVM Libc (Opens in new window or tab)\">MSVC C++23: constexpr cmath with LLVM Libc<\/a> by Cody Miller (MSVC compiler front-end dev) and <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/bringing-correctly-rounded-math-to-production-with-llvm-libc\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Bringing Correctly Rounded Math to Production with LLVM-libc (Opens in new window or tab)\">Bringing Correctly Rounded Math to Production with LLVM-libc<\/a> by Michael Jones and Tue Ly (LLVM-libc maintainers at Google).<\/li>\n<li>And under <code>\/std:c++latest \/Zc:cmath<\/code>, we&#8217;ve mostly implemented C++26 <a href=\"https:\/\/wg21.link\/P1383R2\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"P1383R2 (Opens in new window or tab)\">P1383R2<\/a> &#8216;s <code>constexpr<\/code> additions for <code>&lt;cmath&gt;<\/code>. (No <code>&lt;complex&gt;<\/code> changes yet.) A few functions are not yet implemented by LLVM-libc (see <a href=\"https:\/\/libc.llvm.org\/headers\/math\/index.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"LLVM libc math status (Opens in new window or tab)\">LLVM libc math status<\/a> ) and accordingly are not yet <code>constexpr<\/code>. For <code>double<\/code>, the functions <code>acosh<\/code>, <code>asinh<\/code>, <code>atanh<\/code>, <code>cosh<\/code>, <code>sinh<\/code>, <code>tanh<\/code>, and <code>erf<\/code> are missing. For <code>float<\/code> and <code>double<\/code>, the functions <code>erfc<\/code>, <code>lgamma<\/code>, and <code>tgamma<\/code> are missing. (MSVC uses 64-bit <code>long double<\/code>, so we don&#8217;t need a third implementation of each function.) As soon as they become available, we&#8217;ll activate them as <code>constexpr<\/code> in future releases.<\/li>\n<\/ul>\n<\/li>\n<li>19 LWG issue resolutions, which are bugfixes in the Standard.\n<ul>\n<li>We track every LWG issue that&#8217;s resolved in the Standard in our <a href=\"https:\/\/github.com\/orgs\/microsoft\/projects\/1152\/views\/2\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"STL LWG Issues project (Opens in new window or tab)\">STL LWG Issues project<\/a> .<\/li>\n<\/ul>\n<\/li>\n<li>Improved <code>&lt;regex&gt;<\/code> performance in several scenarios.\n<ul>\n<li>Special thanks to Julian M\u00fcller (<a href=\"https:\/\/github.com\/muellerj2\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"@muellerj2 (Opens in new window or tab)\">@muellerj2<\/a> on GitHub) for this ongoing correctness and performance overhaul of <code>&lt;regex&gt;<\/code>.<\/li>\n<\/ul>\n<\/li>\n<li>Added ARM64 SVE vectorized implementations of several STL algorithms.\n<ul>\n<li>Also fixed regressions and improved performance in some of the ARM64\/ARM64EC Neon vectorized implementations that were previously added.<\/li>\n<li>Special thanks to Hari Limaye at Arm (<a href=\"https:\/\/github.com\/hazzlim\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"@hazzlim (Opens in new window or tab)\">@hazzlim<\/a> on GitHub) for this ongoing vectorization work.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 id=\"user-content-addresssanitizer\">AddressSanitizer<\/h2>\n<ul>\n<li>Improved runtime performance by removing duplicated quarantine work<\/li>\n<li>Use MSDIS (MSVC disassembler) as a fallback instruction-length decoder for interception, reducing \u201cunrecognized instruction\u201d failures. This is on by default and can be disabled via ASAN_OPTIONS=windows_use_msdis_decoder=false . To trace what instructions were intercepted by MSDIS instead of the manual instruction decoder, set verbosity=3 and search for logs prefixed with \u201cMSDIS instruction decoder:\u201d.<\/li>\n<li>Runtime performance improvements including heap address caching, more efficient memory-mapped heap checks, and faster allocator flag assignments, resulting in significant performance gains across multiple runtime scenarios.<\/li>\n<\/ul>\n<h2 id=\"user-content-build-tools-and-diagnostics\">Build tools and diagnostics<\/h2>\n<ul>\n<li>The C++ frontend accepts more valid designated-initialization forms.<\/li>\n<li>The C++ frontend accepts more deeply nested initializers, and the legacy preprocessor allows larger macro buffers.<\/li>\n<li>Code Analysis SARIF output includes rule names, descriptions, and help links by default, plus tags where available.<\/li>\n<li>LNK2022 and LNK4227 name the relevant metadata item. LNK4323 explains a missing ARM64EC\/native object pair.<\/li>\n<li>Incremental linking trims excess growth space from program-database files.<\/li>\n<li>The disassembly library recognizes MIPS32 and MIPS64 Release 6 instructions and ARM64 matrix-state start\/stop instructions.<\/li>\n<li><code>\/analyze:log:format:sarifandxml<\/code> writes both Code Analysis log formats.<\/li>\n<li>LNK4321 identifies duplicate C++ module exports while generating an import library.<\/li>\n<li>C5089 identifies the experimental combination of <code>\/fsanitize=address<\/code> with <code>\/clr<\/code>, including <code>\/clr:netcore<\/code>.<\/li>\n<li>In C++, two new level-4 warnings diagnose implicit and explicit conversions between <code>HRESULT<\/code>\/<code>SCODE<\/code> and <code>bool<\/code>-like types. They are off by default and do not apply to C.<\/li>\n<li>The opt-in <code>\/PDB4GBSTREAMS<\/code> option raises the size limit for the PDB global\/public symbol-record stream to roughly 4 GiB. Other PDB streams retain their existing limits.<\/li>\n<li>MASM and the disassembly library recognize the x86 <code>int1<\/code>\/ICEBP instruction (<code>0xF1<\/code>).<\/li>\n<li>LTCG emits C4744 when <code>extern<\/code> declarations disagree on type.<\/li>\n<li>PE reproducibility improves because the image hash no longer includes the PDB age.<\/li>\n<li>Tag-based Code Analysis warning groups simplify ruleset authoring.<\/li>\n<li>Debugger clients can release a program-database file handle without discarding loaded data, allowing the file to be rebuilt sooner. Debug information also merges module and header-unit types more reliably.<\/li>\n<li>Debug records can identify alternate object names, and type-record processing performs fewer allocations and improves throughput on large programs.<\/li>\n<li>Linker and assembler diagnostics are clearer, and malformed object files, libraries, and module metadata are handled more defensively.<\/li>\n<\/ul>\n<h2 id=\"user-content-community-tickets-fixed\">Community Tickets fixed<\/h2>\n<p>These public Developer Community tickets were fixed or completed during this development interval, including changes later serviced to MSVC 14.51.<\/p>\n<ul>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/_mm256_cvtxps_ph-produces-incorrect-resu\/10790980\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"_mm256_cvtxps_ph produces incorrect results (Opens in new window or tab)\">_mm256_cvtxps_ph produces incorrect results<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Unable-to-match-function-definition-fo\/10902169\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"&quot;Unable to match function definition&quot; for template member function using member constants (Opens in new window or tab)\">&#8220;Unable to match function definition&#8221; for template member function using member constants<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/msvc::dispatch:-nested-all-ins\/11145351\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\": nested inside is flattened (Opens in new window or tab)\"><code>[[msvc::dispatch]]<\/code>: nested <code>all()<\/code> inside <code>any()<\/code> is flattened<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Brepro-causes-build-errors-when-VS-Code\/10840547\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"\/Brepro causes build errors when VS Code (its file watcher) is watching for file changes in the output directory (Opens in new window or tab)\">\/Brepro causes build errors when VS Code (its file watcher) is watching for file changes in the output directory<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/fp:strict-reordering-regression-_mm_get\/10778120\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"\/fp:strict reordering regression _mm_getcsr \/ _mm_setcsr (Opens in new window or tab)\">\/fp:strict reordering regression _mm_getcsr \/ _mm_setcsr<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/LTCG:incremental-falls-back-to-full-com\/10648155\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"\/LTCG:incremental falls back to full compilation every second time when nothing is changed, due to supposed IPDB IOBJ mismatch (Opens in new window or tab)\">\/LTCG:incremental falls back to full compilation every second time when nothing is changed, due to supposed IPDB IOBJ mismatch<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/std:c23preview-triggers-internal-comp\/11102982\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"\/std:c++23preview triggers internal compiler error C1001 (Opens in new window or tab)\">\/std:c++23preview triggers internal compiler error C1001<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/coroutine-%5F_builtin_coro_noop-emits-dy\/11087805\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"&lt;coroutine&gt; emits an unexpected dynamic initializer for the no-op coroutine (Opens in new window or tab)\">&lt;coroutine&gt; emits an unexpected dynamic initializer for the no-op coroutine<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/numbers-header-appears-cause-compiler-\/11081208\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"&lt;numbers&gt; header appears cause compiler issues when a variable\/type with the name &quot;e&quot; is used. (Opens in new window or tab)\">&lt;numbers&gt; header appears cause compiler issues when a variable\/type with the name &#8220;e&#8221; is used.<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/content\/problem\/561735\/pragma-warningdisable-4668-not-working-when-genera.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"#pragma warning(disable: 4668) not working when generating preprocessor output only with \/E (Opens in new window or tab)\">#pragma warning(disable: 4668) not working when generating preprocessor output only with \/E<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/A-non-specialized-variable-template-is-i\/10786128\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"A non-specialized variable template is instantiated wrongly, when instantiated a specialization (Opens in new window or tab)\">A non-specialized variable template is instantiated wrongly, when instantiated a specialization<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Abbreviated-function-templates-are-treat\/11070179\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Abbreviated function templates are treated incorrectly (Opens in new window or tab)\">Abbreviated function templates are treated incorrectly<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Aggressive-instantiation-in-lambda-init-\/10456445\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Aggressive instantiation in lambda init-capture (Opens in new window or tab)\">Aggressive instantiation in lambda init-capture<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/An-rvalue-reference-is-allowed-as-a-catc\/11070346\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"An rvalue reference is allowed as a catch type (Opens in new window or tab)\">An rvalue reference is allowed as a catch type<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Apps-built-with-QSpectre-load-and-CETC\/10949177\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Apps built with \/QSpectre-load and \/CETCOMPAT crashes with EXCEPTION_STACK_OVERFLOW (Opens in new window or tab)\">Apps built with \/QSpectre-load and \/CETCOMPAT crashes with EXCEPTION_STACK_OVERFLOW<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/clexe-feature:APX-with-d2guardretpoli\/11105431\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"APX compilation causes linker error LNK1379 (Opens in new window or tab)\">APX compilation causes linker error LNK1379<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/APX-LTCG-codegen-keeps-caller-saved-regi\/11106037\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"APX LTCG codegen keeps caller-saved registers live across calls (Opens in new window or tab)\">APX LTCG codegen keeps caller-saved registers live across calls<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-O2-Gs0:-prologue-calls-__chks\/11146442\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 \/O2 \/Gs0 destroys the return address while probing stack space (Opens in new window or tab)\">ARM64 \/O2 \/Gs0 destroys the return address while probing stack space<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-backend-miscompiles-NEON-logical-o\/11141082\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 backend miscompiles NEON logical ops with narrow splat constants (Opens in new window or tab)\">ARM64 backend miscompiles NEON logical ops with narrow splat constants<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-build-errors-with-C4737-when-compi\/11139113\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 build errors with C4737 when compiling with std::generator (Opens in new window or tab)\">ARM64 build errors with C4737 when compiling with std::generator<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-codegen-is-breaks-function-scope-t\/11054790\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 code generation breaks function-scope try\/catch in a noexcept function (Opens in new window or tab)\">ARM64 code generation breaks function-scope try\/catch in a noexcept function<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM-codegen-overallocates-switch-case-lo\/11084174\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 code generation overallocates switch-case locals, causing kernel stack overflow (Opens in new window or tab)\">ARM64 code generation overallocates switch-case locals, causing kernel stack overflow<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-codegen:-paired-int-double-SIMD-c\/11097374\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 codegen: paired int-&gt;double SIMD conversion emits USHLL+UCVTF instead of SSHLL+SCVTF; negative ints become ~4.29e9 doubles (Opens in new window or tab)\">ARM64 codegen: paired int-&gt;double SIMD conversion emits USHLL+UCVTF instead of SSHLL+SCVTF; negative ints become ~4.29e9 doubles<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-for-ARM64-emits-suboptimal-code-gen\/11056805\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 constant NEON vector loading produces suboptimal code (part 1) (Opens in new window or tab)\">ARM64 constant NEON vector loading produces suboptimal code (part 1)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-for-ARM64-emits-suboptimal-code-gen\/11056812\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 constant NEON vector loading produces suboptimal code (part 2) (Opens in new window or tab)\">ARM64 constant NEON vector loading produces suboptimal code (part 2)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-hotpatch-override-images-make-hpmd\/11106513\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 hotpatch generation fails on direct references (Opens in new window or tab)\">ARM64 hotpatch generation fails on direct references<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-arm64-codegen-makes-zlib-ng-deflate\/11087372\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 internal compiler error when compiling zlib-ng (Opens in new window or tab)\">ARM64 internal compiler error when compiling zlib-ng<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-LTCG-c2-ICE-C1001-Illegal-reg-fie\/11100420\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 link-time optimization fails with C1001 and LNK1257 (Opens in new window or tab)\">ARM64 link-time optimization fails with C1001 and LNK1257<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/LTCG-back-end-1451-misorders-PS_ASSERT\/11096029\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 link-time optimization reorders assertion checks incorrectly (Opens in new window or tab)\">ARM64 link-time optimization reorders assertion checks incorrectly<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-compiler-optimizes-number--00-\/11119601\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 misoptimizes +0.0 vs. -0.0. (Opens in new window or tab)\">ARM64 misoptimizes +0.0 vs. -0.0.<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Arm64-MSVC-misses-optimization-opportuni\/10792000\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Arm64 MSVC misses optimization opportunity by not fusing two ldrs to ldp (Opens in new window or tab)\">Arm64 MSVC misses optimization opportunity by not fusing two ldrs to ldp<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-optimizer-loop-unrolling-emits-inc\/11085406\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 optimizer loop unrolling emits incorrect \/O2 assembly in cl.exe (Opens in new window or tab)\">ARM64 optimizer loop unrolling emits incorrect \/O2 assembly in cl.exe<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/%43HPE-d2hybrid:emit_guest_references-cau\/11070079\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64EC compilation fails with an internal compiler error (Opens in new window or tab)\">ARM64EC compilation fails with an internal compiler error<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/%43HPE-LTCG-emits-mismatched-push-thunks-c\/11115225\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64EC link-time optimization emits mismatched thunks and LNK4279 (Opens in new window or tab)\">ARM64EC link-time optimization emits mismatched thunks and LNK4279<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64EC-linker-emits-LNK4279-for-__imp_P\/11098733\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64EC linker emits LNK4279 for a PtInRect indirect-call thunk (Opens in new window or tab)\">ARM64EC linker emits LNK4279 for a PtInRect indirect-call thunk<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/linkexe-%43HPE-crashes-with-LNK1000-in-LI\/11114383\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64EC linking crashes with LNK1000 while searching a library (Opens in new window or tab)\">ARM64EC linking crashes with LNK1000 while searching a library<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Link-LTCG-with-d2hybrid-emits-bad-LoadL\/11119543\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64EC LTCG emits an incorrect LoadLibraryExW export thunk (Opens in new window or tab)\">ARM64EC LTCG emits an incorrect LoadLibraryExW export thunk<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/%43HPE-VCCRT-__longjmp_internal-prototype-\/11112926\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64EC runtime prototype mismatch triggers LNK4279 (Opens in new window or tab)\">ARM64EC runtime prototype mismatch triggers LNK4279<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Linker-fails-with-LNK2055-misaligned-imp\/11141432\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64X linker fails with LNK2055 misaligned import tables and LNK1000 (Opens in new window or tab)\">ARM64X linker fails with LNK2055 misaligned import tables and LNK1000<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/armasm64-drops-symbol-offset-in-adrpadd\/11118860\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"armasm64 drops symbol offset in adrp\/add\/ldr (Opens in new window or tab)\">armasm64 drops symbol offset in adrp\/add\/ldr<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/armasm64-ldr-fails-to-reference-later-de\/11118851\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"armasm64 ldr fails to reference later declared symbols (Opens in new window or tab)\">armasm64 ldr fails to reference later declared symbols<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MLexe-Assembly-Errors-AMX-instructio\/10698677\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Assembly Errors (AMX instructions) (Opens in new window or tab)\">Assembly Errors (AMX instructions)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ATLMFC-uses-invalid-nullptr-reinterpret\/11121385\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ATL\/MFC uses invalid nullptr reinterpret_cast (14.52 preview) (Opens in new window or tab)\">ATL\/MFC uses invalid nullptr reinterpret_cast (14.52 preview)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/AVX-optimizercodegen-bug\/11075288\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"AVX optimizer generates incorrect code (Opens in new window or tab)\">AVX optimizer generates incorrect code<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Bad-code-gen-for-x64x86-with-msvc-v\/11112781\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Bad code gen for \/ with msvc v19.51 VS18.6 with and inlined methods (Opens in new window or tab)\">Bad code gen for <code>x64<\/code>\/<code>x86<\/code> with msvc v19.51 VS18.6 with <code>\/O2<\/code> and inlined methods<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Bad-code-generation:-static-local-init\/11105892\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Bad code generation: local initialized via ternary with non-trivial return type produces nullptr (Opens in new window or tab)\">Bad code generation: <code>static<\/code> local initialized via ternary with non-trivial return type produces nullptr<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Bad-codegen-for-x86-_mul_full_overflow_i\/10668881\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Bad codegen for x86 _mul_full_overflow_i8\/_mul_full_overflow_u8 (Opens in new window or tab)\">Bad codegen for x86 _mul_full_overflow_i8\/_mul_full_overflow_u8<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/%56ulcan-dumpexe-dumpNearJumpsCSV-exits-\/11114133\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Binary inspection exits with error code 9 on kernel binaries (Opens in new window or tab)\">Binary inspection exits with error code 9 on kernel binaries<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/dumpexe-dumpNearJumpsCSV-fatals-on-usb\/11086800\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Binary inspection fails on an unsupported instruction in usbhub.sys (Opens in new window or tab)\">Binary inspection fails on an unsupported instruction in usbhub.sys<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/%56ulcan-dumpexe-dumpNearJumpsCSV-fails-\/11104901\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Binary inspection fails on ntkrnlmp.exe with BB1028 (Opens in new window or tab)\">Binary inspection fails on ntkrnlmp.exe with BB1028<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/%56ulcan-dumpexe-dumpNearJumpsCSV-fatals\/11095700\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Binary inspection fails while locating instructions in x64 kernel binaries (Opens in new window or tab)\">Binary inspection fails while locating instructions in x64 kernel binaries<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/%56ulcan-dumpexe-dumpNearJumpsCSV-fails-\/11114134\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Binary inspection fails with BB0113 on wof.sys (Opens in new window or tab)\">Binary inspection fails with BB0113 on wof.sys<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/%56ulcan-dumpexe-dumpNearJumpsCSV-runs-o\/11118296\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Binary inspection runs over ten times slower than before (Opens in new window or tab)\">Binary inspection runs over ten times slower than before<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/vcbit:-When-I-run-a-tool-it-reports-an-\/11102122\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Binary inspection tool reports an error (Opens in new window or tab)\">Binary inspection tool reports an error<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/bbopt-direct-CFGbbopt-exits-with-unhand\/11127098\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Binary optimization exits with an access violation (Opens in new window or tab)\">Binary optimization exits with an access violation<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/content\/problem\/379820\/bit-rotate-pattern-detection.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"bit rotate pattern detection (Opens in new window or tab)\">bit rotate pattern detection<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Modules-Bogus-warning-C5202\/10397891\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Bogus warning C5202 (Opens in new window or tab)\">Bogus warning C5202<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Bug:-Calling-FileSavePicker::FileTypeCho\/11100799\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Bug: Calling FileSavePicker::FileTypeChoices::Insert throws an exception with C++\/WinRT 3.0 modules. (Opens in new window or tab)\">Bug: Calling FileSavePicker::FileTypeChoices::Insert throws an exception with C++\/WinRT 3.0 modules.<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Build-speed-slows-down-dramatically-when\/10673986\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Build speed slows dramatically with inline expansion (Opens in new window or tab)\">Build speed slows dramatically with inline expansion<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Build-system-reports-fatal-error-LINK100\/11086745\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Build system reports LINK100 with an unknown internal failure (Opens in new window or tab)\">Build system reports LINK100 with an unknown internal failure<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-structs-containing-only-a-flexible-arr\/11086085\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C structs containing only a flexible array member can have size not a multiple of alignment (Opens in new window or tab)\">C structs containing only a flexible array member can have size not a multiple of alignment<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-doesnt-optimize-trivial-C-struct\/10469543\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C\/C++ compiler doesn't optimize trivial C++ structs assignments (Opens in new window or tab)\">C\/C++ compiler doesn&#8217;t optimize trivial C++ structs assignments<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-20-Modules-unable-to-import-std-usin\/11075026\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ 20 Modules unable to import std using build tools 14.51 (Opens in new window or tab)\">C++ 20 Modules unable to import std using build tools 14.51<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-aggregate-paren-init-rejects-convers\/11090290\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ aggregate paren-init rejects a conversion operator with an initializer-list error (Opens in new window or tab)\">C++ aggregate paren-init rejects a conversion operator with an initializer-list error<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-alignas-rejects-pack-expansion-in-co\/11110113\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ alignas rejects pack expansion in constexpr function call with C3520 (Opens in new window or tab)\">C++ alignas rejects pack expansion in constexpr function call with C3520<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-Code-Analysis-crashes-with-SEH-std:\/11092816\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ Code Analysis crashes with SEH, std::span and initializer_list (Opens in new window or tab)\">C++ Code Analysis crashes with SEH, std::span and initializer_list<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-crashes-with-access-violati\/11127427\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ compiler crashes with access violation compiling AsyncGenerator coroutine (Opens in new window or tab)\">C++ compiler crashes with access violation compiling AsyncGenerator coroutine<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-emits-erroneous-C2672-for-t\/11130908\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ compiler emits erroneous C2672 for templated static constexpr member (Opens in new window or tab)\">C++ compiler emits erroneous C2672 for templated static constexpr member<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-emits-erroneous-C2675C2676\/11137036\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ compiler emits erroneous C2675\/C2676\/C2677 for clause in generic lambda inside template (Opens in new window or tab)\">C++ compiler emits erroneous C2675\/C2676\/C2677 for <code>requires<\/code> clause in generic lambda inside template<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-rejects-some-character-in-i\/11127845\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ compiler rejects some character in identifiers under \/std:c++latest that are allowed in the draft standard (Opens in new window or tab)\">C++ compiler rejects some character in identifiers under \/std:c++latest that are allowed in the draft standard<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-lambda-triggers-C2872-ambiguous-symb\/11105828\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ lambda triggers C2872 ambiguous symbol error with using directives (Opens in new window or tab)\">C++ lambda triggers C2872 ambiguous symbol error with using directives<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-Modules-compiler-hits-fatal-error-C1\/11095497\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ Modules compiler hits fatal error C1001 compiling .ixx files (Opens in new window or tab)\">C++ Modules compiler hits fatal error C1001 compiling .ixx files<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/1870-C-modules-error-with-undefin\/11106613\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ modules error with although it is defined, and identical project with different identifiers compiles (Opens in new window or tab)\">C++ modules error with <code>undefined struct<\/code> although it is defined, and identical project with different identifiers compiles<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-modules-reject-first-imported-specia\/11148618\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ modules reject first imported specialization with requires pack fold (Opens in new window or tab)\">C++ modules reject first imported specialization with requires pack fold<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-Modules:-BoostBeastOpenSSL-trigger\/11111909\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ Modules: Boost.Beast\/OpenSSL triggers internal compiler error C1001 (Opens in new window or tab)\">C++ Modules: Boost.Beast\/OpenSSL triggers internal compiler error C1001<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-Modules:-C1001-ICE-when-overloading-\/11101903\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ Modules: C1001 internal compiler error when overloading constrained special member function (Opens in new window or tab)\">C++ Modules: C1001 internal compiler error when overloading constrained special member function<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-modules:-error-C7760-on-specializati\/11077265\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ modules: error C7760 on specialization that is not exported (Opens in new window or tab)\">C++ modules: error C7760 on specialization that is not exported<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-optimizer-causes-access-violation-wi\/11153250\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ optimizer causes access violation with catch by reference (Opens in new window or tab)\">C++ optimizer causes access violation with catch by reference<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-passing-a-derived-class-from-the-lam\/11111543\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ passing a derived class from the lambda class as the explicit parameter corrupts the program (Opens in new window or tab)\">C++ passing a derived class from the lambda class as the explicit <code>this<\/code> parameter corrupts the program<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-std::invocable-rejects-nested-generi\/11148608\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ std::invocable rejects nested generic lambda with nontrivial return type (Opens in new window or tab)\">C++ std::invocable rejects nested generic lambda with nontrivial return type<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/CCLI-with-clr-rejects-C20-using-e\/11120680\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++\/CLI with \/clr rejects C++20 with error C2868 (Opens in new window or tab)\">C++\/CLI with \/clr rejects C++20 <code>using enum<\/code> with error C2868<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/content\/problem\/227504\/ccli-syntax-error-on-function-with-a-variable-argu.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++\/CLI: syntax error on function with a variable argument list with [[maybe_unused]] (Opens in new window or tab)\">C++\/CLI: syntax error on function with a variable argument list with [[maybe_unused]]<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C20-modules-MSVC-error-C2440-when-defa\/11082697\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++20 modules MSVC error C2440 when default member initializer uses lambda capturing (Opens in new window or tab)\">C++20 modules MSVC error C2440 when default member initializer uses lambda capturing <code>this<\/code><\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C20-nested-template-lambda-deduces-lam\/11117077\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++20 nested template lambda deduces lambda's type as int regression (Opens in new window or tab)\">C++20 nested template lambda deduces lambda&#8217;s type as int regression<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C20-requires-pack-expansion-triggers-C\/11099577\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++20 requires pack expansion triggers C7602 in alias template chaining (Opens in new window or tab)\">C++20 requires pack expansion triggers C7602 in alias template chaining<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C1001-error-when-try-to-compile-with-SYC\/11069974\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C1001 error when try to compile with SYCL kernel (Opens in new window or tab)\">C1001 error when try to compile with SYCL kernel<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C1001-internal-compiler-error-at-O2-whe\/11159793\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C1001 internal compiler error at \/O2 when an AVX-512 mask intrinsic gets two equal constant operands (e.g. _mm512_kand(5, 5)) (Opens in new window or tab)\">C1001 internal compiler error at \/O2 when an AVX-512 mask intrinsic gets two equal constant operands (e.g. _mm512_kand(5, 5))<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C1001:-Internal-Compiler-Error---Access-\/10467846\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C1001: Internal Compiler Error - Access Violation Linker (Opens in new window or tab)\">C1001: Internal Compiler Error &#8211; Access Violation Linker<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C1001:-Internal-compiler-error-Using-st\/11039556\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C1001: Internal compiler error. Using std::mutex and \/std:c++20 (Opens in new window or tab)\">C1001: Internal compiler error. Using std::mutex and \/std:c++20<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C2440:-static_cast-to-select-an-overload\/11107969\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C2440 when selecting an overloaded member function with a deduced return type in a class template (Opens in new window or tab)\">C2440 when selecting an overloaded member function with a deduced return type in a class template<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C2672:-Incorrect-no-matching-overloaded\/11072086\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C2672: Incorrect &quot;no matching overloaded function found&quot; with MSVC 14.51 (Opens in new window or tab)\">C2672: Incorrect &#8220;no matching overloaded function found&#8221; with MSVC 14.51<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C2678-for-decltypea--b--c-with-a-ded\/11148612\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C2678 for decltype(a * b * c) with a deducing-this conversion in scope the evaluated form compiles (Opens in new window or tab)\">C2678 for decltype(a * b * c) with a deducing-this conversion in scope the evaluated form compiles<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C4754-warning-incorrectly-suggests-that-\/10318445\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C4754 warning incorrectly suggests that comparison branch cannot execute (Opens in new window or tab)\">C4754 warning incorrectly suggests that comparison branch cannot execute<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/_Regression-in-195236615:-C4864-expe\/11136619\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C4864 unexpectedly requires a template keyword before a dependent template name (Opens in new window or tab)\">C4864 unexpectedly requires a template keyword before a dependent template name<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/regression-C4865-does-not-print-the-cu\/11140542\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C4865 does not print the current underlying type (Opens in new window or tab)\">C4865 does not print the current underlying type<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C7602:-unsatisfied-constraint-escapes-a-\/11131246\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C7602: unsatisfied constraint escapes a requires-expression in a class template with a parameter pack (Opens in new window or tab)\">C7602: unsatisfied constraint escapes a requires-expression in a class template with a parameter pack<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Calling-std::format-inside-of-lambda-pro\/10985180\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Calling std::format inside of lambda produces an unexpected compilation error (Opens in new window or tab)\">Calling std::format inside of lambda produces an unexpected compilation error<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/calls-in-aggregate-initializer-are-missi\/10646260\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"calls in aggregate initializer are missing (Opens in new window or tab)\">calls in aggregate initializer are missing<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Cant-initialize-constinit-or-constexpr-\/10958287\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Can't initialize constinit or constexpr references from another variable (Opens in new window or tab)\">Can&#8217;t initialize constinit or constexpr references from another variable<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Cannot-deduce-the-type-of-the-placeholde\/10812745\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Cannot deduce the type of the placeholder for class type templates (Opens in new window or tab)\">Cannot deduce the type of the placeholder for class type templates<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Capture-of-constexpr-variable-not-workin\/10190629\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Capture of constexpr variable not working inside template lambda (Opens in new window or tab)\">Capture of constexpr variable not working inside template lambda<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/clexe-fatal-error-C1001-and-exit-0xE06D\/11091216\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"cl.exe fatal error C1001 and exit 0xE06D5034 (Opens in new window or tab)\">cl.exe fatal error C1001 and exit 0xE06D5034<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Class-member-with-auto-deduced-return-ty\/11076206\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Class member with auto deduced return type, can have its return type deduced before the function is defined (Opens in new window or tab)\">Class member with auto deduced return type, can have its return type deduced before the function is defined<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Code-is-rejected-with-error-C2228-when-c\/10985126\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Code is rejected with error C2228 when compiled in C++20 mode (Opens in new window or tab)\">Code is rejected with error C2228 when compiled in C++20 mode<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/colocated-localsparameters-with-overlap\/10744681\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"colocated locals\/parameters with overlapping lifetime 14.40.33814 and newer (Opens in new window or tab)\">colocated locals\/parameters with overlapping lifetime 14.40.33814 and newer<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ranges-plus-import-std-triggers-C2382-\/11148844\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Combining &lt;ranges&gt; with import std triggers C2382 (Opens in new window or tab)\">Combining &lt;ranges&gt; with import std triggers C2382<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/cl-compile-time-of-large-chained-functio\/10812122\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Compile time of large chained function expressions improves (Opens in new window or tab)\">Compile time of large chained function expressions improves<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ON2-in-%53parseBitVectorBase-when-com\/10657991\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Compilation time grows quadratically in a large C++ project (Opens in new window or tab)\">Compilation time grows quadratically in a large C++ project<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-crashes-with-optimization-O2-wh\/11003961\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Compiler crashes with optimization O2 when calling _hypot in 17.14.21 (Opens in new window or tab)\">Compiler crashes with optimization O2 when calling _hypot in 17.14.21<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler:-Promote-static-analysis-C62xx-\/11142626\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Compiler diagnostics for HRESULT-to-bool conversions (Opens in new window or tab)\">Compiler diagnostics for HRESULT-to-bool conversions<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/compiler-does-not-emit-implicit-return-0\/10954869\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"compiler does not emit implicit return 0 from main after catch with empty loop construct (Opens in new window or tab)\">compiler does not emit implicit return 0 from main after catch with empty loop construct<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-emits-warning-C4864-for-alias-t\/11129598\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Compiler emits warning C4864 for alias template member access in a namespace (Opens in new window or tab)\">Compiler emits warning C4864 for alias template member access in a namespace<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-error-message-misspells-statem\/11134842\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Compiler error message misspells &quot;statement&quot; as &quot;statment&quot; (Opens in new window or tab)\">Compiler error message misspells &#8220;statement&#8221; as &#8220;statment&#8221;<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-warning-C5264-ignores-maybe_u\/11126470\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Compiler warning C5264 ignores [[maybe_unused]] on const variables (Opens in new window or tab)\">Compiler warning C5264 ignores [[maybe_unused]] on const variables<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Concepts-cause-external-member-function-\/1629668\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Concepts cause external member function definition to fail to compile (Opens in new window or tab)\">Concepts cause external member function definition to fail to compile<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/consteval-causes-C1054:-compiler-limit:-\/10884139\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"consteval causes C1054: compiler limit: initializers nested too deeply initializing tuple (Opens in new window or tab)\">consteval causes C1054: compiler limit: initializers nested too deeply initializing tuple<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/constexpr-pointer-is-rejected-in-some-ca\/10956087\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"constexpr pointer is rejected in some cases (Opens in new window or tab)\">constexpr pointer is rejected in some cases<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/linkexe-cvtcil-fails-with-C1001-p2ma\/11148016\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Converting an ARM64X static library fails with C1001 (Opens in new window or tab)\">Converting an ARM64X static library fails with C1001<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Coverage-sanitizer-instrumentation-break\/11095657\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Coverage sanitizer instrumentation breaks after optimization passes (Opens in new window or tab)\">Coverage sanitizer instrumentation breaks after optimization passes<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/CWG3129-Error-on-overflow-in-floating-po\/11066885\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"CWG3129 Error on overflow in floating-point literal instead of infinity (Opens in new window or tab)\">CWG3129 Error on overflow in floating-point literal instead of infinity<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Debugger-breakpoints-not-hit-when-symbol\/11090974\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Debugger breakpoints are not hit when symbols fail to load (Opens in new window or tab)\">Debugger breakpoints are not hit when symbols fail to load<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Default-switch-case-being-optimized-away\/1329375\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Default switch case is optimized away in debug builds (Opens in new window or tab)\">Default switch case is optimized away in debug builds<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/APIScanMaxDep-crashes-with-StackOverflo\/11086544\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"DIA detects corrupt cyclic type records without overflowing the stack (Opens in new window or tab)\">DIA detects corrupt cyclic type records without overflowing the stack<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/error-C1001:-Internal-compiler-error\/10760367\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"error C1001: Internal compiler error (Opens in new window or tab)\">error C1001: Internal compiler error<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C20constexpr-error-C3615-on-empty-\/11158084\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"error C3615 on empty std::optional destructor when contained type has non-constexpr destructor (Opens in new window or tab)\">error C3615 on empty std::optional destructor when contained type has non-constexpr destructor<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/error-C7595:-std::source_location::curr\/11077731\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"error C7595: 'std::source_location::current': call to immediate function is not a constant expression (Opens in new window or tab)\">error C7595: &#8216;std::source_location::current&#8217;: call to immediate function is not a constant expression<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Expectation-to-expand-a-pack-is-too-earl\/10824250\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Expectation to expand a pack is too early in lambda in fold expression (Opens in new window or tab)\">Expectation to expand a pack is too early in lambda in fold expression<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Extremely-bad-code-generation-bug-report\/10798089\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Extremely bad code generation bug reported fixed but still not fixed (Opens in new window or tab)\">Extremely bad code generation bug reported fixed but still not fixed<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/__fastfail-does-not-compile-like-no-re\/10914110\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Fast-fail calls are not compiled as no-return operations (Opens in new window or tab)\">Fast-fail calls are not compiled as no-return operations<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/fatal-error-C1001:-Internal-compiler-err\/11077064\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"fatal error C1001: Internal compiler error (Opens in new window or tab)\">fatal error C1001: Internal compiler error<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/fatal-error-LNK1000:-Internal-error-duri\/11098275\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"fatal error LNK1000: Internal error during 14.51 MSVC toolset test (Opens in new window or tab)\">fatal error LNK1000: Internal error during 14.51 MSVC toolset test<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/First-instantiation-of-a-nested-class-th\/11153101\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"First instantiation of a nested class through a colliding member variable template is done in the wrong scope (C3646, C4430) (Opens in new window or tab)\">First instantiation of a nested class through a colliding member variable template is done in the wrong scope (C3646, C4430)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/std::fill-isnt-optimized-into-memset-fo\/10148087\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Float range fill is not optimized to a bulk zero-fill (Opens in new window or tab)\">Float range fill is not optimized to a bulk zero-fill<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/gRPC-compile-fails-in-Visual-Studio-with\/11084455\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"gRPC compile fails in Visual Studio with error C3539 template argument type (Opens in new window or tab)\">gRPC compile fails in Visual Studio with error C3539 template argument type<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/hot-patch-build-blockers-RCA-\/10206705\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Hotpatch build failures (Opens in new window or tab)\">Hotpatch build failures<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/illegal-code-leading-to-ICE-in-C20-mod\/11008647\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"illegal code leading to internal compiler error in C++20 mode (Opens in new window or tab)\">illegal code leading to internal compiler error in C++20 mode<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/modules-Improve-build-output-when-lib\/10984451\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Improve build output when &quot;library is corrupt&quot; (Opens in new window or tab)\">Improve build output when &#8220;library is corrupt&#8221;<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incomplete-Diagnostic-of-static_assert-i\/1291658\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incomplete static_assert diagnostic omits the instantiating function (Opens in new window or tab)\">Incomplete static_assert diagnostic omits the instantiating function<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/incorrect-AVX512-code-generated-when-usi\/10639101\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"incorrect AVX512 code generated when using optimization (Opens in new window or tab)\">incorrect AVX512 code generated when using optimization<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-Code-Generation-for-Virtual-Fu\/10690623\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrect Code Generation for Virtual Function Call with Virtual Base Class and __declspec(empty_bases) (Opens in new window or tab)\">Incorrect Code Generation for Virtual Function Call with Virtual Base Class and __declspec(empty_bases)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-compilation:-static-constexpr-\/10417772\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrect compilation: static constexpr member with invalid initialisation is zero-initialised when defined out-of-line (Opens in new window or tab)\">Incorrect compilation: static constexpr member with invalid initialisation is zero-initialised when defined out-of-line<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-coroutine-codegen-when-resumin\/11146009\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrect coroutine codegen when resuming std::noop_coroutine with \/Gz (Opens in new window or tab)\">Incorrect coroutine codegen when resuming std::noop_coroutine with \/Gz<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-offset-for-savereg-when-using\/11132046\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrect offset for .savereg when using unwind V3 with frame pointer + non-zero offset (Opens in new window or tab)\">Incorrect offset for .savereg when using unwind V3 with frame pointer + non-zero offset<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-overload-resolution-for-refere\/11099632\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrect overload resolution for reference-to-array member access through prvalue object (Opens in new window or tab)\">Incorrect overload resolution for reference-to-array member access through prvalue object<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-processing-of-template-class-N\/11062662\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrect processing of template class NTTP in lambda function (Opens in new window or tab)\">Incorrect processing of template class NTTP in lambda function<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-type-is-passed-through-nested-\/10813116\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrect type is passed through nested lambdas (Opens in new window or tab)\">Incorrect type is passed through nested lambdas<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrectly-permissive-requires-statemen\/10430486\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrectly permissive requires-statement re: negated concepts in C++20 (Opens in new window or tab)\">Incorrectly permissive requires-statement re: negated concepts in C++20<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/content\/idea\/1119421\/increase-compiler-limit-for-nested-initializers-fa.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Increase compiler limit for nested initializers (fatal error C1054) (Opens in new window or tab)\">Increase compiler limit for nested initializers (fatal error C1054)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-linker-incremental-linking-hits-LNK\/11116635\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incremental linking fails with LNK1000 while emitting relocations (Opens in new window or tab)\">Incremental linking fails with LNK1000 while emitting relocations<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incremental-linking-is-broken-when-using\/1650142\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incremental linking is broken when using the -noexp flag with link.exe (Opens in new window or tab)\">Incremental linking is broken when using the -noexp flag with link.exe<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Initializing-a-pointer-to-a-data-member-\/11086563\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Initializing a pointer to a data member now requires a dynamic initializer in 64-bit targets (Opens in new window or tab)\">Initializing a pointer to a data member now requires a dynamic initializer in 64-bit targets<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/IntelliSense-C23-misparses-conceptsco\/11125466\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"IntelliSense C++23 misparses concepts\/consteval\/constinit as identifiers (Opens in new window or tab)\">IntelliSense C++23 misparses concepts\/consteval\/constinit as identifiers<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-Compiler-Error-C1001-in-MSVC-\/11117190\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal Compiler Error (C1001) in MSVC v14.51 ARM64 compiling ARM SVE intrinsics (arm_sve.h) (Opens in new window or tab)\">Internal Compiler Error (C1001) in MSVC v14.51 ARM64 compiling ARM SVE intrinsics (arm_sve.h)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-compiler-error-ICE-on-using-f\/11068723\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal compiler error (internal compiler error) on using function type alias with auto deduced return type (Opens in new window or tab)\">Internal compiler error (internal compiler error) on using function type alias with auto deduced return type<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/internal-compiler-error-arm64-tds_c_even\/11151489\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"internal compiler error arm64 tds_c_events.cpp(6444) 19.52preview (Opens in new window or tab)\">internal compiler error arm64 tds_c_events.cpp(6444) 19.52preview<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ICE-C1001-with-cl--E-regarding-pragm\/11132216\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"internal compiler error C1001 with regarding if is a macro (Opens in new window or tab)\">internal compiler error C1001 with <code>cl -E<\/code> regarding <code>#pragma pack<\/code> if <code>pack<\/code> is a macro<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ICE-linking-binary-with-LTCG-when-specif\/1367326\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"internal compiler error linking binary with LTCG when specifying \/Od for some of the objs (Opens in new window or tab)\">internal compiler error linking binary with LTCG when specifying \/Od for some of the objs<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ICE-preprocessing-file------------------\/1541611\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"internal compiler error preprocessing file with . (Opens in new window or tab)\">internal compiler error preprocessing file with <code>_Pragma<\/code>.<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-compiler-error-v1950-around-ne\/11067194\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal compiler error v19.50 around nested lambdas (Opens in new window or tab)\">Internal compiler error v19.50 around nested lambdas<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-Compiler-Error-from-disencodec\/11160998\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal compiler error when compiling ARM64 with optimizations enabled (Opens in new window or tab)\">Internal compiler error when compiling ARM64 with optimizations enabled<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-Compiler-Error-when-struct-impl\/10810991\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal Compiler Error when struct implicitly converted to bool (Opens in new window or tab)\">Internal Compiler Error when struct implicitly converted to bool<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-ICE-in-PackExpandercpp-with-requir\/11099199\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal compiler error with a requires-expression before a template parameter pack (Opens in new window or tab)\">Internal compiler error with a requires-expression before a template parameter pack<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-Compiler-Error-with-ARM-SVE:-sv\/11102858\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal Compiler Error with ARM SVE: svdupq_n_* + Pointer to vector with \/RTCs (Opens in new window or tab)\">Internal Compiler Error with ARM SVE: svdupq_n_* + Pointer to vector with \/RTCs<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-Compiler-Error-with-C23-modul\/11081189\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal Compiler Error with C++23 modules and MSVC Build Tools Preview 14.51 (Opens in new window or tab)\">Internal Compiler Error with C++23 modules and MSVC Build Tools Preview 14.51<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ICE-with-MSVC-Insiders-Preview-1952365\/11121327\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"internal compiler error with MSVC Insiders Preview 19.52.36530 (Opens in new window or tab)\">internal compiler error with MSVC Insiders Preview 19.52.36530<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Invalid-C2102-when-passing-a-pointer-to-\/10257585\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Invalid C2102 when passing a pointer to function to a class template (Opens in new window or tab)\">Invalid C2102 when passing a pointer to function to a class template<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Invalid-code-generation-when-using-dedu\/10477170\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Invalid code generation when using in a lambda (Opens in new window or tab)\">Invalid code generation when using <code>deducing this<\/code> in a lambda<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Lambda-with-empty-capture-cannot-be-used\/10229322\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Lambda with empty capture cannot be used as template auto parameter (Opens in new window or tab)\">Lambda with empty capture cannot be used as template auto parameter<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Leaf-functions-that-return-an-object-wit\/10192397\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Leaf functions that return an object with a non-empty destructor allocates stack space (Opens in new window or tab)\">Leaf functions that return an object with a non-empty destructor allocates stack space<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/funcoverride-fixed-crashes-linker-144\/10961042\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Linker crashes when function overrides are combined with \/FIXED (Opens in new window or tab)\">Linker crashes when function overrides are combined with \/FIXED<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/LNK4279-icall-thunk-mismatch-on-ARM64EC-\/11087716\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"LNK4279 icall thunk mismatch on ARM64EC with std::filesystem::path and std::chrono::tzdb (Opens in new window or tab)\">LNK4279 icall thunk mismatch on ARM64EC with std::filesystem::path and std::chrono::tzdb<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/LNK4279-warning-when-building-ARM64EC-pr\/11090020\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"LNK4279 warning when building ARM64EC projects with VS2026 18.6.0 Compiler 19.51 (Opens in new window or tab)\">LNK4279 warning when building ARM64EC projects with VS2026 18.6.0 Compiler 19.51<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Manifestly-constant-evaluated-constexpr-\/11141162\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Manifestly constant evaluated constexpr constructor allows call of non-constexpr function (Opens in new window or tab)\">Manifestly constant evaluated constexpr constructor allows call of non-constexpr function<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MASM-rejects-setframe-on-r15-with-unwin\/11112196\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MASM rejects on (Opens in new window or tab)\">MASM rejects <code>.setframe<\/code> on <code>r15<\/code><\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Memory-reference-error-due-to-excessive-\/10477735\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Memory reference error due to excessive optimization in \/O1, \/O2, \/Ox options (Opens in new window or tab)\">Memory reference error due to excessive optimization in \/O1, \/O2, \/Ox options<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Microsoft-Analyzer-crashes-with-fatal-er\/11090217\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Microsoft Analyzer crashes with fatal error C1001 on throw in ternary operator (Opens in new window or tab)\">Microsoft Analyzer crashes with fatal error C1001 on throw in ternary operator<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Miscompile:-constant-evaluator-aliases-t\/11147206\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Miscompile: constant evaluator aliases two distinct string literals used in constexpr initializers (Opens in new window or tab)\">Miscompile: constant evaluator aliases two distinct string literals used in constexpr initializers<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/%43lang-generates-50-shorter-code-sequenc\/10978455\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Missed optimization for a bit-extraction sequence (Opens in new window or tab)\">Missed optimization for a bit-extraction sequence<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/msvc-middle-end-missed-optimization-o\/10388804\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Missed optimization for expressions with equivalent value ranges (Opens in new window or tab)\">Missed optimization for expressions with equivalent value ranges<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Missing-address-taken-functions-from-GFI\/10493888\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Missing address-taken functions from GFIDs table (Opens in new window or tab)\">Missing address-taken functions from GFIDs table<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Module-Partition-Implementation-Units-\/11056294\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Module Partition Implementation Units (&quot;Internal Partitions&quot;) fail to build when importing interfaces containing exported function declarations (Opens in new window or tab)\">Module Partition Implementation Units (&#8220;Internal Partitions&#8221;) fail to build when importing interfaces containing exported function declarations<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSBuildTools-emits-C2382-for-template-me\/11102837\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSBuildTools emits C2382 for template member with dependent noexcept (Opens in new window or tab)\">MSBuildTools emits C2382 for template member with dependent noexcept<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-external:W-with-Zc:cmath-emits-C4\/11151224\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/external:W with \/Zc:cmath emits C4193 in standard headers (Opens in new window or tab)\">MSVC \/external:W with \/Zc:cmath emits C4193 in standard headers<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O1-and-O2-miscompiles-signed-modu\/11125055\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O1 and \/O2 miscompiles signed modulo comparison expression (Opens in new window or tab)\">MSVC \/O1 and \/O2 miscompiles signed modulo comparison expression<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O1-miscompiles-nested-array-loop-\/11126250\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O1 miscompiles nested array loop, regression from 19.50 (Opens in new window or tab)\">MSVC \/O1 miscompiles nested array loop, regression from 19.50<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O2-arch:AVX2-emits-incorrect-stor\/11153214\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O2 \/arch:AVX2 emits incorrect store for highway Reverse on one-lane int32_t (Opens in new window or tab)\">MSVC \/O2 \/arch:AVX2 emits incorrect store for highway Reverse on one-lane int32_t<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O2-miscompiles-global-assignment-f\/11140883\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O2 miscompiles global assignment followed by XOR operation (Opens in new window or tab)\">MSVC \/O2 miscompiles global assignment followed by XOR operation<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O2-miscompiles-LZ4F_decompress-by-\/11116245\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O2 miscompiles LZ4F_decompress by dropping block flag check (Opens in new window or tab)\">MSVC \/O2 miscompiles LZ4F_decompress by dropping block flag check<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O2-triggers-fatal-error-C1001-with\/11098746\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O2 triggers fatal error C1001 with function named gsl::details::terminate (Opens in new window or tab)\">MSVC \/O2 triggers fatal error C1001 with function named gsl::details::terminate<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Ox-Optimizer-Incorrectly-Handles-C\/10975201\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/Ox Optimizer Incorrectly Handles Control Flow with goto Statements in Nested try-catch Blocks with Exception Re-throwing (Opens in new window or tab)\">MSVC \/Ox Optimizer Incorrectly Handles Control Flow with goto Statements in Nested try-catch Blocks with Exception Re-throwing<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-wd4100-instantiation-ICE\/11115905\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/wd4100 instantiation internal compiler error (Opens in new window or tab)\">MSVC \/wd4100 instantiation internal compiler error<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1444-compiler-error-regarding-C100\/11155591\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 14.44 reports internal compiler error C1001 (Opens in new window or tab)\">MSVC 14.44 reports internal compiler error C1001<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-AVX-codegen-in-MSVC-1450-und\/11080313\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 14.50+ generates incorrect AVX code (Opens in new window or tab)\">MSVC 14.50+ generates incorrect AVX code<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1451-C7658-rejects-array-variable-\/11093931\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 14.51 C7658 rejects array variable as non-type template argument ('the initializer must be the address of a variable or function') (Opens in new window or tab)\">MSVC 14.51 C7658 rejects array variable as non-type template argument (&#8216;the initializer must be the address of a variable or function&#8217;)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1451-codegen:-ternary-picks-wrong-\/11093947\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 14.51 codegen: ternary picks wrong =default constructed branch for std::string class (Opens in new window or tab)\">MSVC 14.51 codegen: ternary picks wrong =default constructed branch for std::string class<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1452-LTCG-reports-C4744-for-incomp\/11132388\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 14.52 LTCG reports C4744 for incomplete extern when completed struct contains anonymous union (Opens in new window or tab)\">MSVC 14.52 LTCG reports C4744 for incomplete extern when completed struct contains anonymous union<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1452-link-fails-with-C1001-when-us\/11144176\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 14.52 LTCG with profile-guided optimization reports C1001 (Opens in new window or tab)\">MSVC 14.52 LTCG with profile-guided optimization reports C1001<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-180-incorrectly-handles-optimizat\/11075435\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 18.0+ incorrectly handles optimizations in the face of changes to floating point rounding mode (Opens in new window or tab)\">MSVC 18.0+ incorrectly handles optimizations in the face of changes to floating point rounding mode<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1951-O2-regression-increases-C2\/11133102\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 19.51 \/O2 regression increases C++20 coroutine frame sizes ~18x under \/O2 (Opens in new window or tab)\">MSVC 19.51 \/O2 regression increases C++20 coroutine frame sizes ~18x under \/O2<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1951-empties-a-static-initialized-\/11160963\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 19.51 empties a static initialized from a conditional expression of two class prvalues (wrong code at \/Od and \/O2) (Opens in new window or tab)\">MSVC 19.51 empties a static initialized from a conditional expression of two class prvalues (wrong code at \/Od and \/O2)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1951362101-and-1951362232-mis\/11068576\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 19.51.36210.1 and 19.51.36223.2 miscompile ffmpeg for arm64 (Opens in new window or tab)\">MSVC 19.51.36210.1 and 19.51.36223.2 miscompile ffmpeg for arm64<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1952-miscompiles-ffmpeg-for-arm64-\/11077234\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 19.52 miscompiles ffmpeg for arm64 (h264pred, h264qpel, qpeldsp, intrax8dsp, vp9dsp_8bpp) (Opens in new window or tab)\">MSVC 19.52 miscompiles ffmpeg for arm64 (h264pred, h264qpel, qpeldsp, intrax8dsp, vp9dsp_8bpp)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-accepts-taking-address-of-rvalue-re\/11156629\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC accepts taking address of rvalue reference in unevaluated context with \/permissive- (Opens in new window or tab)\">MSVC accepts taking address of rvalue reference in unevaluated context with \/permissive-<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-ARM64-SVE-loop-keeps-ptrue-in-body-\/11123454\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC ARM64 SVE loop keeps ptrue in body and clobbers b.lo flags (Opens in new window or tab)\">MSVC ARM64 SVE loop keeps ptrue in body and clobbers b.lo flags<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-auto-vectorizer-miscompiles-vecdot-\/11136707\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC auto-vectorizer with \/O2 \/arch:AVX2 miscompiles vecdot loop using vphaddd result in vpmulld (Opens in new window or tab)\">MSVC auto-vectorizer with \/O2 \/arch:AVX2 miscompiles vecdot loop using vphaddd result in vpmulld<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-AVX-512-emits-invalid-EVEX-vpgather\/11097498\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC AVX-512 emits invalid EVEX vpgatherdd with high ZMM index register (Opens in new window or tab)\">MSVC AVX-512 emits invalid EVEX vpgatherdd with high ZMM index register<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-AVX2-codegen-emits-vblendps-mask-16\/11151970\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC AVX2 codegen emits vblendps mask 16 instead of 8 for _mm_blend_ps (Opens in new window or tab)\">MSVC AVX2 codegen emits vblendps mask 16 instead of 8 for _mm_blend_ps<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-backend-C1001-compiling-captured-co\/11103140\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC backend C1001 compiling captured coroutine lambda with (Opens in new window or tab)\">MSVC backend C1001 compiling captured coroutine lambda with <code>this auto<\/code><\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Build-Tools-1451-miscompiles-Qt-QM\/11119502\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC Build Tools 14.51 miscompiles Qt QMap&lt;double,T&gt;::upperBound() loop (Opens in new window or tab)\">MSVC Build Tools 14.51 miscompiles Qt QMap&lt;double,T&gt;::upperBound() loop<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Build-Tools-AVX2-intrinsic-inlining\/11108132\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC Build Tools AVX2 intrinsic inlining corrupts output in release builds (Opens in new window or tab)\">MSVC Build Tools AVX2 intrinsic inlining corrupts output in release builds<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Build-Tools-update-breaks-full-modu\/11100838\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC Build Tools update breaks full-module builds with undefined class errors (Opens in new window or tab)\">MSVC Build Tools update breaks full-module builds with undefined class errors<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-compiler-types-unary--as-_Bool-i\/11151560\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C compiler types unary ! as _Bool instead of int in C11\/C17 (Opens in new window or tab)\">MSVC C compiler types unary ! as _Bool instead of int in C11\/C17<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-compiler-miscompiles-when-takin\/11151092\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++ compiler miscompiles when taking a reference to a member variable from a xvalue (Opens in new window or tab)\">MSVC C++ compiler miscompiles when taking a reference to a member variable from a xvalue<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-modules-omit-inline-variable-ex\/11149872\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++ modules omit inline variable export, causing LNK2001 (Opens in new window or tab)\">MSVC C++ modules omit inline variable export, causing LNK2001<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-overload-resolution-reports-C26\/11143435\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++ overload resolution reports C2668 for concept shorthand (Opens in new window or tab)\">MSVC C++ overload resolution reports C2668 for concept shorthand<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C20-namespace-scope-constexpr-cap\/11161184\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++20 namespace-scope constexpr capture triggers C1001 or C2326 (Opens in new window or tab)\">MSVC C++20 namespace-scope constexpr capture triggers C1001 or C2326<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C20-resolves-decltypefuncint-\/11143256\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++20 resolves to a non-template overload (Opens in new window or tab)\">MSVC C++20 resolves <code>decltype(func&lt;int&gt;)<\/code> to a non-template overload<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C1001-compiling-C20-operator-w\/11090001\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C1001 compiling C++20 operator&lt;=&gt; with conditional strong_ordering (cl 19.51) (Opens in new window or tab)\">MSVC C1001 compiling C++20 operator&lt;=&gt; with conditional strong_ordering (cl 19.51)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C1001-compiling-constexpr-reference\/11143273\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C1001 compiling constexpr reference as non-type template parameter (Opens in new window or tab)\">MSVC C1001 compiling constexpr reference as non-type template parameter<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C2039C2504-when-importing-a-module\/11123095\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C2039\/C2504 when importing a module that includes full standalone Asio with io_context::service (Opens in new window or tab)\">MSVC C2039\/C2504 when importing a module that includes full standalone Asio with io_context::service<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C2079-error-when-importing-sstream\/11130467\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C2079 error when importing &lt;sstream&gt; as header unit with two modules that include it in GMF (Opens in new window or tab)\">MSVC C2079 error when importing &lt;sstream&gt; as header unit with two modules that include it in GMF<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C2751-rejects-dependent-qualified-a\/11154733\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C2751 rejects dependent qualified alias packs in lambda parameters (Opens in new window or tab)\">MSVC C2751 rejects dependent qualified alias packs in lambda parameters<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-clexe-hangs-compiling-some-Unreal-\/11100391\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC cl.exe hangs compiling some Unreal Engine 5 source files (Opens in new window or tab)\">MSVC cl.exe hangs compiling some Unreal Engine 5 source files<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-clexe-hits-fatal-error-C1001-compi\/11085972\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC cl.exe hits fatal error C1001 compiling amd64 SIMD C files (Opens in new window or tab)\">MSVC cl.exe hits fatal error C1001 compiling amd64 SIMD C files<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-CLexe-Release-build-hits-internal-\/11089236\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC CL.exe Release build hits internal compiler error in plutovg-font.c (Opens in new window or tab)\">MSVC CL.exe Release build hits internal compiler error in plutovg-font.c<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-class-template-fails-to-inherit-con\/11094062\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC class template fails to inherit constrained constructor via using base::base (Opens in new window or tab)\">MSVC class template fails to inherit constrained constructor via using base::base<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-compiler-C1001-on-range-for-over-st\/11093987\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC compiler C1001 on range-for over std::initializer_list in lambda (Opens in new window or tab)\">MSVC compiler C1001 on range-for over std::initializer_list in lambda<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-compiler-ICE-regression-building-Qt\/11106131\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC compiler internal compiler error regression building QtWebEngine with Google Highway code (Opens in new window or tab)\">MSVC compiler internal compiler error regression building QtWebEngine with Google Highway code<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-coroutines-ICE-C1001-on-aggregate-i\/11085222\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC coroutines internal compiler error C1001 on aggregate init with shared_ptr field (Opens in new window or tab)\">MSVC coroutines internal compiler error C1001 on aggregate init with shared_ptr field<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/arm64-specific-crash-in-MSVC-195035728\/11072933\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC crashes while compiling ARM64 code (Opens in new window or tab)\">MSVC crashes while compiling ARM64 code<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-doesnt-drop-cv-qualification-from-\/11116935\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC doesn't drop cv-qualification from the result of operator const T() conversion function when T is a scalar type (Opens in new window or tab)\">MSVC doesn&#8217;t drop cv-qualification from the result of operator const T() conversion function when T is a scalar type<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-emits-C2718-for-over-aligned-argume\/11141150\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC emits C2718 for over-aligned argument with C-style variadic overload (Opens in new window or tab)\">MSVC emits C2718 for over-aligned argument with C-style variadic overload<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-emits-spurious-warning-C4996-on-dep\/11131112\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC emits spurious warning C4996 on deprecated virtual overrides (Opens in new window or tab)\">MSVC emits spurious warning C4996 on deprecated virtual overrides<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-explicit-object-conversion-operator\/11124956\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC explicit-object conversion operator misses implicit move, C2664 (Opens in new window or tab)\">MSVC explicit-object conversion operator misses implicit move, C2664<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-std:clatest-fails-to-compile:-wa\/11089187\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC fails to compile a specialized unary operator in a template (Opens in new window or tab)\">MSVC fails to compile a specialized unary operator in a template<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-header-units-trigger-C1116-in-Boost\/11152647\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC header units trigger C1116 in Boost.Asio thread_pool constructor (Opens in new window or tab)\">MSVC header units trigger C1116 in Boost.Asio thread_pool constructor<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-incorrectly-accepts-reinterpret_cas\/11046953\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC incorrectly accepts reinterpret_cast of function pointer in constexpr (Opens in new window or tab)\">MSVC incorrectly accepts reinterpret_cast of function pointer in constexpr<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-incorrectly-accepts-using-built-in-\/11151627\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC incorrectly accepts using built-in operator&amp; on rvalues in C++20 concepts (Opens in new window or tab)\">MSVC incorrectly accepts using built-in operator&amp; on rvalues in C++20 concepts<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-incorrectly-lacks-array-decay-of-th\/11116925\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC incorrectly lacks array decay of the type an auto template parameter in a default template parameter in namespace std (Opens in new window or tab)\">MSVC incorrectly lacks array decay of the type an auto template parameter in a default template parameter in namespace std<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-incorrectly-rejects-some-constraine\/11111696\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC incorrectly rejects some constrained friend templates with C2995 duplicate definition (Opens in new window or tab)\">MSVC incorrectly rejects some constrained friend templates with C2995 duplicate definition<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-ICE-with-CTAD-designated-initializ\/11084633\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC internal compiler error with CTAD, designated initializer, and local lambda (Opens in new window or tab)\">MSVC internal compiler error with CTAD, designated initializer, and local lambda<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-linkexe-LTCG%53PGO-link-hits-fatal-\/11086772\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC link.exe LTCG with profile-guided optimization reports C1001 (Opens in new window or tab)\">MSVC link.exe LTCG with profile-guided optimization reports C1001<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-v1451-Linker-Crash-in-IncrCalcPtrs\/11090307\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC linker crashes during incremental linking (Opens in new window or tab)\">MSVC linker crashes during incremental linking<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-LTCG-backend-C1001-in-linkexe-duri\/11096235\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC LTCG compilation reports C1001 in link.exe (Opens in new window or tab)\">MSVC LTCG compilation reports C1001 in link.exe<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-member-template-out-of-class-defini\/11104307\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC member template out-of-class definition rejected with C2244\/C2131 (Opens in new window or tab)\">MSVC member template out-of-class definition rejected with C2244\/C2131<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-miscompiles-signed-x--k--0-a\/11131532\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC miscompiles signed as (Opens in new window or tab)\">MSVC miscompiles signed <code>(x &lt;&lt; k) &gt; 0<\/code> as <code>x &gt; 0<\/code><\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-fails-to-emit-LD1R-for-DUP-of-scala\/11056877\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC misses LD1R for an ARM64 scalar broadcast (Opens in new window or tab)\">MSVC misses LD1R for an ARM64 scalar broadcast<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-module-raise-ICE-on-exported-operat\/11083241\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC module raise internal compiler error on exported operator== (Opens in new window or tab)\">MSVC module raise internal compiler error on exported operator==<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Modules-Regression:-Non-type-templa\/11062602\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC Modules Regression: Non-type template parameter loses constant-expression status inside dependent alias template (Opens in new window or tab)\">MSVC Modules Regression: Non-type template parameter loses constant-expression status inside dependent alias template<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-modules:-exported-template-calling-\/11123133\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC modules: exported template calling exec::start_detached fails with C2064 (Opens in new window or tab)\">MSVC modules: exported template calling exec::start_detached fails with C2064<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-modules:-fatal-error-C1116-importin\/11091367\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC modules: fatal error C1116 importing a partitioned C++23 module (compiled with ) after ing asio (Opens in new window or tab)\">MSVC modules: fatal error C1116 importing a partitioned C++23 module (compiled with <code>import std;<\/code>) after <code>#include<\/code>ing asio<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-nested-lambda-pack-expansion-emits-\/11125996\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC nested lambda pack expansion emits C2440 when capturing this (Opens in new window or tab)\">MSVC nested lambda pack expansion emits C2440 when capturing this<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-out-of-class-conversion-operator-mi\/11104309\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC out-of-class conversion operator misbinds Transform, C2976\/C7753 (Opens in new window or tab)\">MSVC out-of-class conversion operator misbinds Transform, C2976\/C7753<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-preprocessor-crashes-on-function-li\/11084102\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC preprocessor crashes on function-like macro expanded at _Pragma (Opens in new window or tab)\">MSVC preprocessor crashes on function-like macro expanded at _Pragma<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-produces-suboptimal-code-for-NEON-S\/11073659\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC produces suboptimal code for NEON-to-SVE bridge intrinsics (Opens in new window or tab)\">MSVC produces suboptimal code for NEON-to-SVE bridge intrinsics<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-raises-ICE-when-handling-an-explici\/11118370\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC raises internal compiler error when handling an explicit object member function template with an invalid return type (Opens in new window or tab)\">MSVC raises internal compiler error when handling an explicit object member function template with an invalid return type<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-recursive-variadic-template-NSDMI-l\/11104312\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC recursive variadic template NSDMI lambda misfires C3482\/C2951 (Opens in new window or tab)\">MSVC recursive variadic template NSDMI lambda misfires C3482\/C2951<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-local-struct-NTTP-on-a-lamb\/11126613\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects local struct NTTP on a lambda nested in another immediately-invoked template lambda (Opens in new window or tab)\">MSVC rejects local struct NTTP on a lambda nested in another immediately-invoked template lambda<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-nested-lambda-decltypelamb\/11096967\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects nested lambda decltype(lambda expression)::type alias in using declaration (Opens in new window or tab)\">MSVC rejects nested lambda decltype(lambda expression)::type alias in using declaration<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-range-for-over-C23-auto-c\/11125928\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects range-for over C++23 auto cast (Opens in new window or tab)\">MSVC rejects range-for over C++23 auto cast<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-some-uses-trailing-return-t\/11141431\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects some uses trailing return type in member function templates (Opens in new window or tab)\">MSVC rejects some uses trailing return type in member function templates<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-stdexec::sync_wait-with-C26\/11148836\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects stdexec::sync_wait with C2672 (Opens in new window or tab)\">MSVC rejects stdexec::sync_wait with C2672<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-valid-concepts-using-explic\/11144079\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects valid concepts using explicitly deleted functions with C1903 (Opens in new window or tab)\">MSVC rejects valid concepts using explicitly deleted functions with C1903<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-valid-program-involving-usi\/10563857\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects valid program involving using using declaration to inherit constructor (Opens in new window or tab)\">MSVC rejects valid program involving using using declaration to inherit constructor<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-valid-template-non-type-arg\/11116775\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects valid template non-type argument auto&amp; bound to F::f (Opens in new window or tab)\">MSVC rejects valid template non-type argument auto&amp; bound to F::f<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Release-optimizer-reorders-position\/11091896\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC Release optimizer reorders position of if block and skips reachable code with cout (Opens in new window or tab)\">MSVC Release optimizer reorders position of if block and skips reachable code with cout<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-front-end-hits-ICE-in-lower-tre\/11145884\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC reports an internal compiler error on valid C++ source (Opens in new window or tab)\">MSVC reports an internal compiler error on valid C++ source<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C1001-in-p2maincpp-compiling-__bu\/11125457\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC reports C1001 for a square-root operation with \/Od in C mode (Opens in new window or tab)\">MSVC reports C1001 for a square-root operation with \/Od in C mode<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-d1initall1023-triggers-C3321-in-s\/11090099\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC reports C3321 in &lt;shared_mutex&gt; (Opens in new window or tab)\">MSVC reports C3321 in &lt;shared_mutex&gt;<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-calculates-an-incorrect-result-of-_\/10617180\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC reports incorrect constructibility results (Opens in new window or tab)\">MSVC reports incorrect constructibility results<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-sometimes-incorrectly-deduces-decl\/11116911\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC sometimes incorrectly deduces from an template parameter (Opens in new window or tab)\">MSVC sometimes incorrectly deduces <code>decltype(auto)<\/code> from an <code>auto<\/code> template parameter<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-template-static_assert-accepts-inva\/11084143\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC template static_assert accepts invalid parameter pack in Y&lt;...&gt; (Opens in new window or tab)\">MSVC template static_assert accepts invalid parameter pack in Y&lt;&#8230;&gt;<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-triggers-C1001-compiling-ssefilter\/11143434\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC triggers C1001 compiling ssefilter.c with AddressSanitizer and APX (Opens in new window or tab)\">MSVC triggers C1001 compiling ssefilter.c with AddressSanitizer and APX<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-v145:-C2352-on-member-function-call\/11092746\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC v145: C2352 on member function call in templated noexcept context (Opens in new window or tab)\">MSVC v145: C2352 on member function call in templated noexcept context<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-vectorizer-crashes-on-%43itySample-AP\/11141061\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC vectorizer crashes on an APX build (Opens in new window or tab)\">MSVC vectorizer crashes on an APX build<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-O1-and-O2-miscompile-bit-31-t\/11152606\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC x64 \/O1 and \/O2 miscompile bit 31 test after shift and doubling (Opens in new window or tab)\">MSVC x64 \/O1 and \/O2 miscompile bit 31 test after shift and doubling<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-O2-clobbers-constant-initializ\/11117400\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC x64 \/O2 clobbers constant-initialized GUID members Data2\/Data3 (Opens in new window or tab)\">MSVC x64 \/O2 clobbers constant-initialized GUID members Data2\/Data3<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-O2-folds-memcpy-of-constant-in\/11124169\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC x64 \/O2 folds memcpy of constant int array into wrong memset (Opens in new window or tab)\">MSVC x64 \/O2 folds memcpy of constant int array into wrong memset<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-Oxs-miscompiles-signed-bitfiel\/11132821\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC x64 \/Oxs miscompiles signed bitfield when TEST clears CF before SBB (Opens in new window or tab)\">MSVC x64 \/Oxs miscompiles signed bitfield when TEST clears CF before SBB<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-hits-C1001-on-O2-coroutine-awa\/11159720\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC x64 hits C1001 on \/O2 coroutine await in counted loop within try (Opens in new window or tab)\">MSVC x64 hits C1001 on \/O2 coroutine await in counted loop within try<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-Preview-toolset-generates-incor\/11087612\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC x64 Preview toolset generates incorrect code for Unreal Engine (Opens in new window or tab)\">MSVC x64 Preview toolset generates incorrect code for Unreal Engine<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x86-LTCG-drops-conditional-malloc-s\/11144471\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC x86 LTCG drops conditional malloc size term, causing 0xC0000374 (Opens in new window or tab)\">MSVC x86 LTCG drops conditional malloc size term, causing 0xC0000374<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC:-__pragmaloopno_vector-and-_Pra\/11127877\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC: __pragma(loop(no_vector)) and _Pragma(&quot;loop(no_vector)&quot;) inside lambdas cause compilation error under \/std:c++20 and \/std:c++latest (Opens in new window or tab)\">MSVC: __pragma(loop(no_vector)) and _Pragma(&#8220;loop(no_vector)&#8221;) inside lambdas cause compilation error under \/std:c++20 and \/std:c++latest<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Nested-templated-lambda-fails-to-find-lo\/11093527\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Nested templated lambda fails to find local lambda variable in decltype (Opens in new window or tab)\">Nested templated lambda fails to find local lambda variable in decltype<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/No-compiler-error-for-lambdas-with-undef\/11131709\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"No compiler error for lambdas with undefined const ref\/pointer parameter types (Opens in new window or tab)\">No compiler error for lambdas with undefined const ref\/pointer parameter types<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/nodiscard-is-silently-ignored\/10951770\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"nodiscard is silently ignored (Opens in new window or tab)\">nodiscard is silently ignored<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Numerical-error-in-ARM-Neon-vqrshrnh_n_\/11148967\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Numerical error in ARM Neon intrinsic (Opens in new window or tab)\">Numerical error in ARM Neon <code>vqrshrnh_n_u16<\/code> intrinsic<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Optimizer-reorders-operations-across-__r\/11100161\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Optimizer reorders operations across __rdtscp in __forceinline functions (Opens in new window or tab)\">Optimizer reorders operations across __rdtscp in __forceinline functions<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Optimizer:-__forceinline-inflates-stack-\/11106466\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Optimizer: __forceinline inflates stack usage and triggers release stack overflow (Opens in new window or tab)\">Optimizer: __forceinline inflates stack usage and triggers release stack overflow<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/PGO-instrumentation-runtime-crash-on-ARM\/10949293\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"PGO instrumentation runtime crash on ARM64 (Opens in new window or tab)\">PGO instrumentation runtime crash on ARM64<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Poor-AVX2-codegen-for-simple-double-load\/10895094\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Poor AVX2 codegen for simple double load and broadcasts.. (Opens in new window or tab)\">Poor AVX2 codegen for simple double load and broadcasts..<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Poor-x64-code-generation-for-popcount-in\/10532067\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Poor x64 code generation for popcount intrinsics (Opens in new window or tab)\">Poor x64 code generation for popcount intrinsics<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Potential-incorrect-code-generation-duri\/11040715\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Potential incorrect code generation during Empty Base Optimization (EBO) in MSVC (Opens in new window or tab)\">Potential incorrect code generation during Empty Base Optimization (EBO) in MSVC<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/pragma-warning-disable-used-to-disable-p\/10767320\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"pragma warning disable used to disable preprocessor warnings does not work when just the preprocessor is ran via \/P (Opens in new window or tab)\">pragma warning disable used to disable preprocessor warnings does not work when just the preprocessor is ran via \/P<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Preprocessor-falsely-reports-missing-\/11103192\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Preprocessor falsely reports missing ')' for nested macro conditions (Opens in new window or tab)\">Preprocessor falsely reports missing &#8216;)&#8217; for nested macro conditions<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Previously-removed-code-gets-into-the-bi\/10707043\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Previously removed code gets into the binary (Opens in new window or tab)\">Previously removed code gets into the binary<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Problems-with-msvc-preprocessing-macro-i\/10881770\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Problems with msvc preprocessing macro implementation (__has_builtin) (Opens in new window or tab)\">Problems with msvc preprocessing macro implementation (__has_builtin)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/%53PGO-SPDConvert-fails-with-inconsistent-\/11108695\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Profile-data conversion fails with an inconsistent block count (Opens in new window or tab)\">Profile-data conversion fails with an inconsistent block count<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/content\/problem\/34621\/range-based-for-variable-name-scope-still-wrong.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Range-based for variable scope is incorrect (Opens in new window or tab)\">Range-based for variable scope is incorrect<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/range-based-for-variables-can-be-shadow-\/11067523\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"range-based for variables can be shadow by loop's block scope (Opens in new window or tab)\">range-based for variables can be shadow by loop&#8217;s block scope<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-updated-lambda-processor-Zc:lambd\/11126929\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Regression MSVC 19.51 updated lambda processor (\/Zc:lambda) triggers C2086 redefinition (Opens in new window or tab)\">Regression MSVC 19.51 updated lambda processor (\/Zc:lambda) triggers C2086 redefinition<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/content\/problem\/206451\/reinterpret-cast1-throws-error-c2440-reinterpret-c.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"reinterpret_cast(1); throws error C2440: 'reinterpret_cast': cannot convert from 'int' to 'int' (Opens in new window or tab)\">reinterpret_cast(1); throws error C2440: &#8216;reinterpret_cast&#8217;: cannot convert from &#8216;int&#8217; to &#8216;int&#8217;<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/SanCov-and-%50OGO-result-in-linker-crash\/10362057\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Sanitizer coverage and profile-guided optimization cause a linker crash (Opens in new window or tab)\">Sanitizer coverage and profile-guided optimization cause a linker crash<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/SFINAE-probe-of-a-member-call-instantiat\/11116820\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"SFINAE probe of a member call instantiates same-named enclosing-namespace function template; unbounded memory use (C1060) in 19.51 (Opens in new window or tab)\">SFINAE probe of a member call instantiates same-named enclosing-namespace function template; unbounded memory use (C1060) in 19.51<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Specific-file-takes-15x-longer-to-compi\/11042037\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Specific file takes ~15x longer to compile with latest cl.exe (Opens in new window or tab)\">Specific file takes ~15x longer to compile with latest cl.exe<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Static-members-of-class-templates-are-in\/11078321\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Static members of class templates are instantiated even when those members are not referenced (Opens in new window or tab)\">Static members of class templates are instantiated even when those members are not referenced<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/std::bit_cast-does-not-work-for-empty-cl\/10628342\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"std::bit_cast does not work for empty classes (Opens in new window or tab)\">std::bit_cast does not work for empty classes<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/std::ellint_2-produces-wrong-result-when\/10383094\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"produces the wrong result near two pi (Opens in new window or tab)\"><code>std::ellint_2<\/code> produces the wrong result near two pi<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/std::generator-fails-to-compile-for-32-b\/10920618\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"std::generator fails to compile for 32-bit x86 with \/guard:cf with error C4737 (Opens in new window or tab)\">std::generator fails to compile for 32-bit x86 with \/guard:cf with error C4737<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/std::is_constructible_v-fails-to-compile\/10988055\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"std::is_constructible_v fails to compile with private destructor in C++20 (Opens in new window or tab)\">std::is_constructible_v fails to compile with private destructor in C++20<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/std::swap-of-arrays-of-trivial-type-is-n\/10026749\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"std::swap of arrays of trivial type is not getting vectorized (Opens in new window or tab)\">std::swap of arrays of trivial type is not getting vectorized<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/std::vector::emplace_back-does-not-work-\/1691516\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"std::vector::emplace_back does not work for a class with default initializer (Opens in new window or tab)\">std::vector::emplace_back does not work for a class with default initializer<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Template-parameter-unrecognized-in-noexc\/11133545\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Template parameter unrecognized in noexcept expression inside template specialization inside class (Opens in new window or tab)\">Template parameter unrecognized in noexcept expression inside template specialization inside class<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Template-parameter-unrecognized-in-noexc\/11063557\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Template parameter unrecognized in noexcept expression when synthesizing inherited constructor in __declspec(dllexport) class (Opens in new window or tab)\">Template parameter unrecognized in noexcept expression when synthesizing inherited constructor in __declspec(dllexport) class<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C2-optimizer-hangs-in-%53SA-value-propagat\/11109703\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"The C++ optimizer hangs during a Qt build (Opens in new window or tab)\">The C++ optimizer hangs during a Qt build<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/cl:-Crash-C1001-in-use_ansih-when-build\/11076046\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"The x86 compiler reports C1001 while preprocessing a C++ header (Opens in new window or tab)\">The x86 compiler reports C1001 while preprocessing a C++ header<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/There-is-a-problem-with-MSVC-optimizing-\/10843486\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"There is a problem with MSVC optimizing the immintrin instruction (Opens in new window or tab)\">There is a problem with MSVC optimizing the immintrin instruction<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/regression-throw-from-destructor-insid\/10660417\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"throw from destructor inside catch block raises bogus C4530 (Opens in new window or tab)\">throw from destructor inside catch block raises bogus C4530<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Type-trait-std::is_layout_compatible-ret\/1534506\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Type trait std::is_layout_compatible returns false negative when used on struct with nested structs (Opens in new window or tab)\">Type trait std::is_layout_compatible returns false negative when used on struct with nested structs<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/False-Positive-C4702:-unreachable-code-w\/10061207\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"unclear C4702: unreachable code warning (Opens in new window or tab)\">unclear C4702: unreachable code warning<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Unexpected-error-C2888-when-templated-la\/11077200\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Unexpected error C2888 when templated lambda in templated class being NTTP parameter to be a type-alias (Opens in new window or tab)\">Unexpected error C2888 when templated lambda in templated class being NTTP parameter to be a type-alias<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Variadic-template-class-breaks-if-conste\/11078391\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Variadic template class breaks if constexpr( requires{...} ) in module (Opens in new window or tab)\">Variadic template class breaks if constexpr( requires{&#8230;} ) in module<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/VC-rejects-instantiation-of-a-lambda-wit\/10781609\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"VC rejects instantiation of a lambda with constraints based on other parameter names (Opens in new window or tab)\">VC rejects instantiation of a lambda with constraints based on other parameter names<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/VC-compiler-hits-fatal-error-C1001-and\/11086243\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"VC++ compiler hits fatal error C1001 and 0xC0000005 on longvectors.cpp (Opens in new window or tab)\">VC++ compiler hits fatal error C1001 and 0xC0000005 on longvectors.cpp<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/content\/problem\/390694\/vc-optimizer-bug-eha-with-nested-trycatch-blocks.html\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"VC++ optimizer bug: \/EHa with nested try\/catch blocks. (Opens in new window or tab)\">VC++ optimizer bug: \/EHa with nested try\/catch blocks.<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/VC-optimizer-emits-AVX-512-vpmullq-und\/11116310\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"VC++ optimizer emits AVX-512 vpmullq under \/arch:AVX2, causing invalid instruction (Opens in new window or tab)\">VC++ optimizer emits AVX-512 vpmullq under \/arch:AVX2, causing invalid instruction<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Visual-C-empty-fold-expression-on--ac\/11138679\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual C++ empty fold expression on + accepts invalid code or ICEs C1001 (Opens in new window or tab)\">Visual C++ empty fold expression on + accepts invalid code or ICEs C1001<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Visual-Studio-C-RelWithDebInfo-miscomp\/11151983\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual Studio C++ RelWithDebInfo miscompiles bit-mask check as always false (Opens in new window or tab)\">Visual Studio C++ RelWithDebInfo miscompiles bit-mask check as always false<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Visual-Studio-gets-stuck-while-inlining\/11133354\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual Studio gets stuck while inlining (Opens in new window or tab)\">Visual Studio gets stuck while inlining<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Visual-Studio-x64-optimizer-miscompiles-\/11158100\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual Studio x64 optimizer miscompiles byte-composed unsigned short bit-15 test (Opens in new window or tab)\">Visual Studio x64 optimizer miscompiles byte-composed unsigned short bit-15 test<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/VS-1842-__no_init_all_default_construc\/11065428\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"VS 18.4.2 __no_init_all_default_constructor errors when using \/d1initall1023 (Opens in new window or tab)\">VS 18.4.2 __no_init_all_default_constructor errors when using \/d1initall1023<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-VS2026-182-generates-incorrect-IL-when\/11045112\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"VS2026 18.2 generates incorrect IL when inlining template function pointer calls in C++\/CLI virtual destructors (Opens in new window or tab)\">VS2026 18.2 generates incorrect IL when inlining template function pointer calls in C++\/CLI virtual destructors<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/VS2026-VC1450-ccli-O2-Common-Langua\/11005462\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"VS2026 VC14.50 c++\/cli \/O2 Common Language Runtime detected an invalid program error (Opens in new window or tab)\">VS2026 VC14.50 c++\/cli \/O2 Common Language Runtime detected an invalid program error<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/VSInstrCodeCoverageConsole-misinstrume\/11085900\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"VSInstr\/CodeCoverage.Console misinstrument switch tables, hang or crash (Opens in new window or tab)\">VSInstr\/CodeCoverage.Console misinstrument switch tables, hang or crash<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Windows-MSVC-32-bit-v19-compiler-bug:-ro\/10996577\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Windows MSVC 32-bit v19 compiler bug: round and convert double to unsigned long long (Opens in new window or tab)\">Windows MSVC 32-bit v19 compiler bug: round and convert double to unsigned long long<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Within-lambdas-with-parameters-of-type-a\/11081202\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Within lambdas with parameters of type auto, constexpr object evaluations fail with C2131 in nested structs. (Opens in new window or tab)\">Within lambdas with parameters of type auto, constexpr object evaluations fail with C2131 in nested structs.<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/x64-optimizer-incorrectly-removes-unsign\/11143770\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"x64 optimizer incorrectly removes unsigned short bit-15 test under \/O2 (Opens in new window or tab)\">x64 optimizer incorrectly removes unsigned short bit-15 test under \/O2<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/x64ARM64-codegen-spills-int_pairint32_\/11099619\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"x64\/ARM64 codegen spills int_pair(int32_t,int32_t) arg to stack (Opens in new window or tab)\">x64\/ARM64 codegen spills int_pair(int32_t,int32_t) arg to stack<\/a><\/li>\n<\/ul>\n<h2 id=\"user-content-share-your-feedback\">Share your feedback<\/h2>\n<p>Thank you for the reports and reproductions that helped us investigate these issues. Please report problems on <a href=\"https:\/\/developercommunity.visualstudio.com\/cpp\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Developer Community (Opens in new window or tab)\">Developer Community<\/a> , including a small reproducer, the compiler options, and the target architecture.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are pleased to announce the availability of the release candidate for Microsoft C++ (MSVC) Build Tools version 14.52. With this release, C++23 is ready for production use and available through the \/std:c++23 compiler option; see below for details. This is the last MSVC v14.52 preview before it moves to stable status and full support. [&hellip;]<\/p>\n","protected":false},"author":1711,"featured_media":36818,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,3963],"tags":[],"class_list":["post-37041","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","category-msvc"],"acf":[],"blog_post_summary":"<p>We are pleased to announce the availability of the release candidate for Microsoft C++ (MSVC) Build Tools version 14.52. With this release, C++23 is ready for production use and available through the \/std:c++23 compiler option; see below for details. This is the last MSVC v14.52 preview before it moves to stable status and full support. [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/37041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/1711"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=37041"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/37041\/revisions"}],"predecessor-version":[{"id":37048,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/37041\/revisions\/37048"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/36818"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=37041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=37041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=37041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}