Refactor AddBindingPattern into composable pieces (#6927)

This is part of some bigger changes in pattern matching, factored out
because it causes some test churn.

Assisted-by: Gemini 3.1 Pro via Antigravity
This commit is contained in:
Geoff Romer
2026-03-19 19:20:03 +00:00
committed by GitHub
parent 10beae2c20
commit 08148f3a3a
137 changed files with 513 additions and 505 deletions
@@ -3854,11 +3854,11 @@ fn F() {
// CHECK:STDOUT: %Self: %I.type = symbolic_binding Self, 0 [symbolic]
// CHECK:STDOUT: %type: type = facet_type <type> [concrete]
// CHECK:STDOUT: %.Self: %type = symbolic_binding .Self [symbolic_self]
// CHECK:STDOUT: %ValueT: %I.type = symbolic_binding ValueT, 0 [symbolic]
// CHECK:STDOUT: %pattern_type.9d9: type = pattern_type %I.type [concrete]
// CHECK:STDOUT: %ValueT: %I.type = symbolic_binding ValueT, 0 [symbolic]
// CHECK:STDOUT: %ValueT.binding.as_type: type = symbolic_binding_type ValueT, 0, %ValueT [symbolic]
// CHECK:STDOUT: %value: %ValueT.binding.as_type = symbolic_binding value, 1 [symbolic]
// CHECK:STDOUT: %pattern_type.422: type = pattern_type %ValueT.binding.as_type [symbolic]
// CHECK:STDOUT: %value: %ValueT.binding.as_type = symbolic_binding value, 1 [symbolic]
// CHECK:STDOUT: %EchoValue.type: type = fn_type @EchoValue [concrete]
// CHECK:STDOUT: %EchoValue: %EchoValue.type = struct_value () [concrete]
// CHECK:STDOUT: %F.type: type = fn_type @F [concrete]