با Rust 1.100.0، تغییرات زیر در اهداف 32 بیتی ویندوز اعمال خواهد شد:
i686-pc-windows-msvcTier 1باهدف ابزارهای میزبان به Tier 1 ارتقا خواهد یافتبدونابزارهای میزبانی.i686-pc-windows-gnuسطح 2باابزارهای میزبانی هدف، به سطح 2 ارتقا داده خواهند شدبدونابزارهای میزبانی.
توزیع نسخههای کتابخانه استاندارد ادامه خواهد یافت، اما ابزارهای میزبانی مانند کامپایلر دیگر در دسترس نخواهند بود.i686-pc-windows-msvcگروه هدف Tier 1 همچنان در حال انجام آزمایشهای CI است.
برای ایجاد فایلهای اجرایی 32 بیتی ویندوز، از این به بعد، نیاز به کامپایل متقابل از یک مجموعه ابزار میزبان پشتیبانی شده (مانند مجموعههای 64 بیتی ویندوز) وجود دارد.
زمینه
پردازندههای 32 بیتی x86 برای دسکتاپ و سرور دیگر از 15 سال پیش به فروش نمیروند و پشتیبانی عمومی از 32 بیتی ویندوز در اکتبر 2025 به پایان میرسد. این بدان معناست که پلتفرمهای توسعهای که این هدفها برای آنها در نظر گرفته شدهاند، تقریباً دیگر وجود ندارند و حتی اگر وجود داشته باشند، معمولاً برای توسعه کافی نیستند.
حتی در سختافزار مدرن x86_64، ایجاد مجموعههای ابزار i686 برای ویندوز، چالشبرانگیز بوده است. ما با خرابی فایلهای اجرایی کامپایلر هنگام ساخت با هدف i686 MSVC مواجه شدهایم، و همچنین مجموعهی ابزار GNU C++ با کمبود حافظه (OOM) در طول ساخت LLVM، با مشکل مواجه شده است.
با در نظر گرفتن همه این موارد، ما به این نتیجه رسیدیم که بهترین راه حل، کامپایل کردن این هدفها از یک پلتفرم پشتیبانی شدهتر است. به عنوان بخشی از این کار، ما تولید ابزارهای میزبان برای این هدفها را متوقف کردیم. در حال حاضر، کتابخانه استاندارد از پیش ساختهشده همچنان در دسترس است و در صورتi686-pc-windows-msvcهنوز در حال آزمایش در CI.
چه تغییراتی ایجاد شده است؟
پس از Rust 1.100، دیگر امکان نصب ابزارهای کامپایل از روی هاستهای 32 بیتی ویندوز وجود نخواهد داشت. ما توصیه میکنیم که به جای آن، از یک هاست پشتیبانیشده (مانند یک ابزار کامپایل 64 بیتی ویندوز) برای کامپایل متقابل استفاده کنید. سایر پلتفرمهای 32 بیتی تحت تأثیر این تغییر قرار نمیگیرند.
برای اطلاعات بیشتر در مورد این کاهش سمت، بهRFC 3999برایi686-pc-windows-msvcکاهش سمت، وMCP 1020برایi686-pc-windows-gnuکاهش رتبه