fix(hover): корректный конструктор на обрыве рекурсивной см.-цепочки#4207
Merged
Conversation
…ля (#4204 п.2) В точке завершения рекурсии метка `См. Функция` бралась из источников уже разрешённого типа поля (на уровень глубже), из-за чего `Содержимое - см. Коробка` сворачивалось в `См. Контейнер` вместо `См. Коробка`. Теперь источник берётся из собственной ленивой ссылки поля (owner.lazyFields[имя]); для эагерных полей-коллекций (`Массив из см. Узел`) остаётся источник ленивого элемента. Это же значение используется и для обнаружения цикла. Тесты ужесточены: проверяется именно `См. Коробка`/`See Коробка` и отсутствие `См. Контейнер`. Co-Authored-By: Claude Opus 4.8 <[email protected]> Claude-Session: https://claude.ai/code/session_01QcYuuctkrfWkmGqXaUmx5S
Contributor
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
nixel2007
enabled auto-merge
June 25, 2026 19:09
|
nixel2007
disabled auto-merge
June 25, 2026 19:28
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.



Closes #4204 (пункт 2)
Продолжение #4196. В hover рекурсивных типов в точке завершения рекурсии вложенный
тип сворачивается в
См. Функция, но имя функции определялось неверно.Причина
При обрыве цикла метка бралась из ленивых см.-источников уже разрешённого типа
поля (на уровень глубже), а не из собственной ссылки поля. Для
тип поля
Содержимое— это структураКоробка, у которой полеРодитель - см. Контейнер. Поэтому на обрыве выводилосьСм. Контейнервместоправильного
См. Коробка.Фикс
Источник для метки и для обнаружения цикла теперь берётся из собственной
ленивой ссылки поля (
owner.lazyFields[имя]). Для эагерных полей-коллекций(
Массив из см. Узел) остаётся источник ленивого элемента.Содержимое - см. Коробка→ на обрывеСм. Коробка✓Потомки - Массив из см. ДеревоУзел→См. ДеревоУзел✓ (без регрессии)Тесты
ReporterScenariosSeeRefTestужесточён: проверяется именноСм. Коробка/See Коробкаи отсутствиеСм. Контейнер(прежний regex допускал оба имени ибаг не ловил). Затронутые hover/инференс тесты зелёные.
Пункт 1 из #4204 (неоднозначность представления вложенного типа: структура vs
имя конструктора) — это обсуждаемый вопрос отображения, в этот PR не входит.
🤖 Generated with Claude Code
Generated by Claude Code