Skip to content

sui_v1.28.0_1718264688_ci

@cgswords cgswords tagged this 13 Jun 03:07
## Description 

This make the following changes:

1. It moves some custom query information that was being maintained as
part of the typing context (and before that, as part of the HLIR
context) onto `ProgramInfo` to allow matching operations to query
information about the structure of datatypes for any program
information.
2. It splits the main `PatternMatrix` definitions (data + code) into
`shared/matching.rs`, along with a `MatchContext` trait that the matrix
specialization operations are now generic over.
3. It removes the actual match compilation code from typing, partially
reverting #17559 -- counterexample generation and IDE suggestion
analysis happens in typing as a visitor over function bodies, but
matches remain intact through all of typing now.
4. It reinstates the previous code for compiling `match` as part of HLIR
lowering.

Along the way, this code also cleaned up a bit of how struct and enum
information was being indexed in HLIR lowering, opting to reuse the
now-stored TypedProgramInfo (🎉 #17787) as opposed to recomputing this
information from scratch.

## Test plan 

All tests should still work as expected with no other changes.

---

## Release notes

Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.

For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.

- [ ] Protocol: 
- [ ] Nodes (Validators and Full nodes): 
- [ ] Indexer: 
- [ ] JSON-RPC: 
- [ ] GraphQL: 
- [ ] CLI: 
- [ ] Rust SDK:
Assets 2
Loading