Skip to content

Support OpaqueTypes in Lookupable#5400

Merged
jackkoenig merged 5 commits into
mainfrom
jackkoenig/lookupable-opaquetype
May 30, 2026
Merged

Support OpaqueTypes in Lookupable#5400
jackkoenig merged 5 commits into
mainfrom
jackkoenig/lookupable-opaquetype

Conversation

@jackkoenig
Copy link
Copy Markdown
Contributor

Summary

When cloning to context a Data that is a child of some Aggregate, Lookupable has to clone the root Data and then return the equivalent child (potentially deeply nested) which involves walking up and then back down the Aggregate hierarchy. Previously this did not properly support OpaqueTypes now it does.

Release Notes

Fix bug in Lookupable for OpaqueTypes

Development notes

  • AI tool(s) used: Claude Code (Claude Sonnet 4.6)
  • Merge strategy (defaults to squash): squash
  • Milestone:

AI-assisted-by: Claude Code (Claude Sonnet 4.6)
AI-assisted-by: Claude Code (Claude Sonnet 4.6)
AI-assisted-by: Claude Code (Claude Sonnet 4.6)
@jackkoenig jackkoenig requested review from seldridge and uenoku May 30, 2026 00:20
@jackkoenig jackkoenig added the Bugfix Fixes a bug, will be included in release notes label May 30, 2026
case (LitIndex(_, n), vec: Vec[_]) => vec.apply(n)
case (Index(_, ILit(n)), vec: Vec[_]) => vec.apply(n.toInt)
case (ModuleIO(_, name), rec: Record) => rec._elements(name)
case (OpaqueSlot(_), rec: Record) => rec._elements("")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it okay to drop OpaqueSlot's name here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I appreciate the close eye--OpaqueSlot's don't actually have a name (required to be ""), that's a reference to the parent Data so okay in this case!

Copy link
Copy Markdown
Contributor

@uenoku uenoku left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for fixing this!

@jackkoenig jackkoenig enabled auto-merge (squash) May 30, 2026 16:56
@jackkoenig jackkoenig merged commit afcbfed into main May 30, 2026
50 of 52 checks passed
@jackkoenig jackkoenig deleted the jackkoenig/lookupable-opaquetype branch May 30, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bugfix Fixes a bug, will be included in release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants