Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
External library specifications were previously rejected as unsupported. This change lets application code refine JDK and third-party library methods, constructors and fields through
@ExternalRefinementsFor, using the same contracts in Latte and LiquidTypeChecking. For example, an ArrayList transition through a local alias is visible when checking the original variable's size.@Freetransfers.Validation:
mvn -B spotless:apply clean verify -Pcompatibilitypasses with 522 tests, zero failures/errors, and 180/311 exact upstream matches (previously 165), with zero analysis crashes. The compatibility gate still checks every imported input and rejects newly accepted negative cases.Library specifications are trusted contracts. Container-size specifications do not infer element ownership or return aliases. Expanded varargs calls require explicit arrays; varargs method references require an explicit-array lambda. These boundaries are documented and unsupported adapters are diagnosed explicitly.
This PR is stacked on
feat/latte-liquid-typechecking, whose completed implementation was pushed as1eb2448. Its diff contains only external-library support and related integration fixes. CI also runs for PRs targeting that base.