Enable CoreCLR contracts for Linux x64 by removing unconditional UNIX contract disablement - #131350
Enable CoreCLR contracts for Linux x64 by removing unconditional UNIX contract disablement#131350davidwrighton with Copilot wants to merge 3 commits into
Conversation
|
Azure Pipelines: 16 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Co-authored-by: davidwrighton <10779849+davidwrighton@users.noreply.github.com>
|
@copilot this works better than I expected. Enable contracts for Linux Arm64, and Mac Arm64 as well. In addition, this worked so well that I need you to validate that an intentionally introduced incorrect contract actually fails. Please inject such a failing contract, and test locally. |
Co-authored-by: davidwrighton <10779849+davidwrighton@users.noreply.github.com>
Updated in I expanded the UNIX contract-disable exception to include CoreCLR on Linux Arm64 and macOS Arm64 (in addition to Linux x64). I also validated contract enforcement locally by temporarily injecting an invalid contract ( Note This reply was generated with GitHub Copilot. |
CoreCLR contracts were globally disabled on UNIX, which kept Linux x64 excluded even after ambiguous contract syntax was removed in #126625. This change narrows that policy so Linux x64 CoreCLR builds can run with contracts enabled while preserving existing behavior elsewhere.
Build configuration change
/home/runner/work/runtime/runtime/eng/native/configurecompiler.cmaketo stop definingDISABLE_CONTRACTSforCoreCLR + Linux + AMD64.DISABLE_CONTRACTSin place for all other UNIX targets.Scope control
Resulting configuration shape