fix: is-operator, try with generic Result, Unwrap exits on panic
ci / build (ubuntu) (push) Has been cancelled
ci / unit + fmt (push) Has been cancelled
ci / examples (push) Has been cancelled
ci / goldens + tools (push) Has been cancelled
ci / apps (push) Has been cancelled
ci / selfhost smoke (push) Has been cancelled
ci / macos smoke (push) Has been cancelled
ci / windows smoke (push) Has been cancelled
ci / CI gate (push) Has been cancelled
selfhost-loop / bootstrap determinism (push) Has been cancelled
ci / build (ubuntu) (push) Has been cancelled
ci / unit + fmt (push) Has been cancelled
ci / examples (push) Has been cancelled
ci / goldens + tools (push) Has been cancelled
ci / apps (push) Has been cancelled
ci / selfhost smoke (push) Has been cancelled
ci / macos smoke (push) Has been cancelled
ci / windows smoke (push) Has been cancelled
ci / CI gate (push) Has been cancelled
selfhost-loop / bootstrap determinism (push) Has been cancelled
Desugar `is` to tag/value equality in bootstrap and selfhost so LIR no longer drops hIs as false. Resolve monomorphized Result/Option type names for `?` (_Tag/_Data). Call bux_exit(1) after Unwrap panic messages. Add is_operator example and document follow-up fixes.
This commit is contained in:
@@ -34,6 +34,15 @@
|
||||
|
||||
---
|
||||
|
||||
## Follow-up fixes (post DeepSeek session)
|
||||
|
||||
| # | Бъг | Фикс |
|
||||
|---|-----|------|
|
||||
| F.1 | `is` → LIR `unhandled hIs` / always false | Desugar to `==` / `.tag ==` in bootstrap + selfhost |
|
||||
| F.2 | `?` + `Result<T,E>` → `Result_Tag` C error | Concrete monomorphized typeName + `_Tag`/`_Data` mangling |
|
||||
| F.3 | `Unwrap` panic continues with garbage | `bux_exit(1)` after panic in Result/Option |
|
||||
| F.4 | Regression example | `examples/is_operator.bux` |
|
||||
|
||||
## Резултат
|
||||
|
||||
- **Всички тестове: 0 FAIL, 0 error**
|
||||
@@ -44,6 +53,8 @@
|
||||
- Data field достъп (`p.data.First_0` като l-value и r-value)
|
||||
- Множество конкретни инстанции в един файл
|
||||
- `Result<T,E>` и `Option<T>` в stdlib
|
||||
- `is` operator (simple + algebraic enums)
|
||||
- `?` try operator with monomorphized `Result<T,E>`
|
||||
|
||||
## Пример който работи
|
||||
|
||||
|
||||
Reference in New Issue
Block a user