types(TY8): or-surface variant tracking + Panic::raise payloads #35
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/035-types-ty8-or-surface-variant-tracking-panic-ra"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
types(TY8): or-surface variant tracking + Panic::raise payloads
Along the way:
Touches 50 files:
docs/impl/08-diagnostics.md,docs/impl/runtime-testing/README.md,docs/impl/runtime/00-executor.md,docs/impl/type-system/README.md,docs/impl/type-system/TY2-synthesis-core.md,docs/impl/type-system/TY8-or-surface-and-panic-payloads.mdand 44 more.Named them all. A new variant is a compile error in
src/rust/crates/ck_types/src/field_access.rsnow, which is where we want to find out.Pushed a fix for both. The second pass on
src/rust/crates/ck_types/src/field_access.rsis much smaller than the first.Mostly there, but the question on
src/rust/crates/ck_types/src/field_access.rsneeds an answer before this lands.@ -52,0 +49,4 @@Ty::Existential(ExistentialKind::Error) => {existential_error_field(field_name, cx.interner, cx.scope, cx.field_types)}_ => read_field(The catch-all arm means a variant added later compiles and lands here without a word. Can the match on
_name every variant so the compiler tells us?, at src/rust/crates/ck_types/src/field_access.rs:52.That is it for
src/rust/crates/ck_types/src/field_access.rs. Thanks for the second pass.Second read on
src/rust/crates/ck_types/src/field_access.rs. Nothing to add.