Telegram Group & Telegram Channel
😭 Баг или фича

Неоднозначное поведение, которое воспроизводится в Xcode 14.2, и вероятно/возможно/сомнительно не воспроизводится в Xcode 14.3

Показаны три примера, в каждом из них внутри замыкания происходит обращение к параметру value. Интересно, что ошибку показывает только в первом случае, хотя по логике должен во всех трех.

Теперь чуть подробнее.

1⃣ Пример. Обычная структура с одним аргументом-замыканием в инициализаторе. if let value обращается к локальному для функции value, которое не является опционалом. Все окей, все логично, показана ошибка.

2⃣ Пример. Структура из SwiftUI (из-за чего собственно и произошел затык). HStack с замыканием, но в этом случае ошибки нет, так как value обращается не к локальному для функции параметру, а к опциональному value - свойству самого объекта SomeStruct.

Почему? я хз)

3⃣ Пример. Пришла идея, что проблема может быть связана с использованием resultBuilder, так как замыкание, передаваемое в HStack - это ViewBuilder, который является resultBuilder. Попробовал воспроизвести - воспроизводится. Причина в этом.

Почему? хз) Но интересно.

🥂Ниже файл с проектом.
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/ios_appdev/122
Create:
Last Update:

😭 Баг или фича

Неоднозначное поведение, которое воспроизводится в Xcode 14.2, и вероятно/возможно/сомнительно не воспроизводится в Xcode 14.3

Показаны три примера, в каждом из них внутри замыкания происходит обращение к параметру value. Интересно, что ошибку показывает только в первом случае, хотя по логике должен во всех трех.

Теперь чуть подробнее.

1⃣ Пример. Обычная структура с одним аргументом-замыканием в инициализаторе. if let value обращается к локальному для функции value, которое не является опционалом. Все окей, все логично, показана ошибка.

2⃣ Пример. Структура из SwiftUI (из-за чего собственно и произошел затык). HStack с замыканием, но в этом случае ошибки нет, так как value обращается не к локальному для функции параметру, а к опциональному value - свойству самого объекта SomeStruct.

Почему? я хз)

3⃣ Пример. Пришла идея, что проблема может быть связана с использованием resultBuilder, так как замыкание, передаваемое в HStack - это ViewBuilder, который является resultBuilder. Попробовал воспроизвести - воспроизводится. Причина в этом.

Почему? хз) Но интересно.

🥂Ниже файл с проектом.

BY Мобильный кот




Share with your friend now:
tg-me.com/ios_appdev/122

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

The global forecast for the Asian markets is murky following recent volatility, with crude oil prices providing support in what has been an otherwise tough month. The European markets were down and the U.S. bourses were mixed and flat and the Asian markets figure to split the difference.The TSE finished modestly lower on Friday following losses from the financial shares and property stocks.For the day, the index sank 15.09 points or 0.49 percent to finish at 3,061.35 after trading between 3,057.84 and 3,089.78. Volume was 1.39 billion shares worth 1.30 billion Singapore dollars. There were 285 decliners and 184 gainers.

telegram from ar


Telegram Мобильный кот
FROM USA