Skip to content

RFC: فصل التحذيرات عن الأخطاء في بانِي SIR#31

Open
SalehKadah wants to merge 1 commit into
mainfrom
rfc/sir-builder-warning-error-separation
Open

RFC: فصل التحذيرات عن الأخطاء في بانِي SIR#31
SalehKadah wants to merge 1 commit into
mainfrom
rfc/sir-builder-warning-error-separation

Conversation

@SalehKadah

Copy link
Copy Markdown
Contributor

الملخّص

RFC يعالج ثغرة د-١ الأعمق المكتشَفة أثناء تنفيذ P0 لتجربة محراب: بانِي SIR يخلط التحذيرات والأخطاء في errors_ واحد، وbuildModule يُرجع وحدةً غير فارغة رغم امتلائه، فيفحص السائق !sir_module_ فقط ⇒ أخطاء بناء SIR (مثل اطبع(طول())) تُهمَل صمتًا والبناء ينجح خطأً (exit 0) — تباعد صامت عن المفسّر الذي يرفضها.

لماذا RFC (لا إصلاح مباشر)

الإصلاح الساذج (فشل البناء على hasErrors()) انحدار: يحوّل تحذير «المطابقة غير الشاملة» (المدفوع في errors_ نفسه) إلى فشل بناء. الجذر بنيويّ (خلط القناتين) فيتطلّب تغييرًا سلوكيًّا موثّقًا.

المقترح

  • قناة تشخيص موسومة بالخطورة (Error/Warning) بدل errors_ الخالط.
  • hasErrors() تعيد الأخطاء فقط؛ السائق يفشل على الأخطاء ويطبع التحذيرات دون إفشال.
  • تصنيف كلّ موقع push_back فرادى (لا تحويل أعمى)؛ ربط اختياريّ بكتالوج الأخطاء.

التحقّق

  • مؤكَّد بمراجع مصدر dev الدقيقة: statement_match.cpp:546-560 (التحذير في errors_sir_builder_module.cpp:1689 (return module_ رغم الأخطاء)، compiler_driver_analysis.cpp:541 (فحص !sir_module_ فقط).
  • سياق: PR اللغة #155 طبّق الإصلاح الآمن المؤقّت ووثّق هذا الحدّ كـ«يستحقّ RFC».
  • مدقّق المقترحات أخضر (15/15).

الحالة: مقترَح.

🤖 Generated with Claude Code

…ت خطأً)

يعالج ثغرة د-١ الأعمق المكتشَفة أثناء P0: SIRBuilder يخلط التحذيرات والأخطاء
في errors_ واحد، وbuildModule يُرجع وحدةً غير فارغة رغم امتلائه، فيفحص السائق
!sir_module_ فقط ⇒ أخطاء بناء SIR (مثل اطبع(طول())) تُهمَل صمتًا والبناء ينجح
خطأً (exit 0)، بينما الإصلاح الساذج (فشل على hasErrors) يحوّل تحذير المطابقة
غير الشاملة إلى فشل = انحدار.

المقترح: قناة تشخيص موسومة بالخطورة (Error/Warning)؛ hasErrors أخطاء فقط؛
السائق يفشل على الأخطاء ويطبع التحذيرات دون إفشال؛ تصنيف مواقع push فرادى؛
ربط اختياريّ بكتالوج الأخطاء. مؤكَّد بمراجع مصدر dev الدقيقة (statement_match.cpp
:546-560، sir_builder_module.cpp:1689، compiler_driver_analysis.cpp:541).

الحالة: مقترَح. المدقّق أخضر (15/15).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant