Skip to content

Conversation

@hvitved
Copy link
Contributor

@hvitved hvitved commented Dec 17, 2025

Extracted from the shared type inference library, as we will have another use of unbound lists in #20987.

@hvitved hvitved force-pushed the shared/unbound-list branch from ed02c2c to 08339fe Compare December 17, 2025 12:13
@hvitved hvitved added the no-change-note-required This PR does not need a change note label Dec 17, 2025
@hvitved hvitved marked this pull request as ready for review December 17, 2025 12:40
@hvitved hvitved requested a review from a team as a code owner December 17, 2025 12:40
@hvitved hvitved requested review from Copilot and paldepind December 17, 2025 12:40
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR extracts the unbound list implementation from the type inference library into a new reusable module. The unbound list data structure represents lists as encoded strings and is useful in performance-critical scenarios where a newtype representation is not feasible.

Key Changes:

  • Created new shared library shared/util/codeql/util/UnboundList.qll with generic unbound list implementation
  • Refactored TypePath in type inference to use the new generic UnboundList module

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
shared/util/codeql/util/UnboundList.qll New module providing generic unbound list implementation with string encoding, supporting list operations like append, cons, and decomposition
shared/typeinference/codeql/typeinference/internal/TypeInference.qll Refactored to use the new UnboundList module, replacing the previous inline TypePath implementation with a cleaner instantiation of the generic library

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-change-note-required This PR does not need a change note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant