Цитата Сообщение от Владимир Ситников Посмотреть сообщение
Ответ тут простой: ОЛ не учитывает координаты элементов при компиляции программы. Я, конечно, исходников не видел, но, полагаю, координаты не учитываются.

Поэтому это для человека легко понять "справа-слева", а с точки зрения алгоритма, никаких "справа" и "слева" нет. Есть просто клубок связей.
Из которых произвольная становится обратной в зависимости от фазы луны.

Чего тут непонятного?



Ещё момент: в момент, когда "замыкается" круг (ну, когда создают первую связь, которая в итоге образует кольцо) среда ещё как-то может обнаружить неладное и сказать, что так делать не нужно.
Но если потом удалят какую-то другую связь, которая участвовала в этом кольце и разорвут кольцо, то что должна сделать среда?
Вернуть первую из ранга обратных в ранг простых? Оставить как есть?



В общем, я пока считаю, что "неявных обратных связей" быть не должно, и подобные программы должны падать на этапе компиляции.
Тут уже передавали мои слова, что в связи с такими проблемами у пользователей, введем оповещение о подобных неявных обратных связях. Вопрос в том, что конкретно сделать компилятору в таких случаях. Как Вы предлагаете крах на этапе компиляции или просто предупреждение, но разрешить выполнение?! Конечно, с Вами согласен, что вариант с "крахом" обеспечит корректную работу макроса в любом случае. Но тогда старые макросы и проекты к сожалению не будут работать до полного устранения проблемы обратных связей. Вы, как пользователи, согласны пойти на это? Или сделать опциональной? Как Вас, пользователей, устроил бы вариант исполнения такого обнаружения?