Skip to content

Fix chained comparison build error in ASTextLayout for Xcode 26#1

Open
juliadekinapachca wants to merge 1 commit into
masterfrom
fix/xcode26-chained-comparison
Open

Fix chained comparison build error in ASTextLayout for Xcode 26#1
juliadekinapachca wants to merge 1 commit into
masterfrom
fix/xcode26-chained-comparison

Conversation

@juliadekinapachca

Copy link
Copy Markdown

Проблема

Xcode 26 (новый clang) делает hard-error на цепочечном сравнении a < b < c в ASTextLayout.mm (closestPositionToPoint:), что ломает сборку проектов на этом форке:

Chained comparison 'X < Y < Z' does not behave the same as a mathematical expression

Затрагивает 4 строки (1600, 1602, 1608, 1610).

Причина

В форке тернарник ? prev : next был случайно заменён на < (right ? prev : next). Это не только не компилируется на новом clang, но и логически сломано: (a < b) < c даёт position = 0/1 вместо нужного индекса.

Правка

Возврат к каноничному коду AsyncDisplayKit:

position = fabs(left - point.x) < fabs(right - point.x) ? prev : next;

🤖 Generated with Claude Code

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant