Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ supportsLessOverridenParametersWithVariadic = "supportsLessOverridenParametersWi
consts = "consts"
# PHP built-in function (alias of is_writable)
is_writeable = "is_writeable"
# TurboExtensionEnabler::EXPECTED_EXTENSION_VERSION is a git short SHA, not
# a word; it changes on every turbo-ext/src commit and will occasionally
# collide with a dictionary word fragment like this one.
873ede9 = "873ede9"

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.

Unrelated

@AJenbo AJenbo Aug 25, 2026 •

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.

it got flagged as a miss spelling of "edge"... I didn't know ignoring spell checking errors was an option 🙂

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.

The term you added here was a git commit reference which changes on every turbo update

@AJenbo AJenbo Aug 25, 2026 •

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.

Yeah I know what I did, it would need to be removed on the next change to turbo version key. I just didn't want it to trigger a red CI until another random one landed. Red Xs makes me anxious, I wouldn't find an inline way to ignore the line do you know if that's possible?

Comment thread
ondrejmirtes marked this conversation as resolved.
Outdated

[default.extend-words]
# override false-positives
Expand Down
2 changes: 1 addition & 1 deletion src/Turbo/TurboExtensionEnabler.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ final class TurboExtensionEnabler
* version is the short SHA of the last commit touching turbo-ext/src/,
* enforced by the phar.yml turbo-version job.
*/
public const EXPECTED_EXTENSION_VERSION = 'dabbfe7';
public const EXPECTED_EXTENSION_VERSION = '873ede9';

private static bool $typeCombinatorCacheEnabled = false;

Expand Down
7 changes: 5 additions & 2 deletions src/Type/TypeCombinatorCache.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,12 @@
* This PHP implementation performs no caching at all — it delegates straight to
* TypeCombinator. The native implementation memoizes each operation on a
* structural key of its arguments; roughly 91% of the calls in a
* self-analysis run repeat an argument tuple that was already computed.
* self-analysis run repeat an argument tuple that was already computed. It also
* interns the results, keeping one canonical instance per distinct type value,
* so operations reaching the same value by different routes return the same
* object and identity checks can stand in for structural comparison.
*
* The cache is scoped to a single container: memoization hands back shared Type
* The cache is scoped to a single container: it hands back shared Type
* instances, and Type objects carry a lazily resolved ClassReflection tied to the
* container that created them.
*
Expand Down
Loading
Loading