История изменений
Исправление Nervous, (текущая версия) :
Компилятор не дает тебе гарантии как и сколько раз макросы раскроются
Ну вот, допустим, ты упоролся и хочешь при раскрытии макроса сходить в сеть, получить жсон со списком сигнатур функций, нагенерировать по нему собственно функций и положить ссылки на них в какую-то структуру данных (оставим за кадром вопрос, что мешает сделать это в рантайме — см. условие №1). Что мешает тебе во время раскрытия этого макроса проверять состояние запроса и наличие данных, не отправлять повторные запросы и возвращать сразу готовую структуру при повторном раскрытии?
Исправление Nervous, :
Компилятор не дает тебе гарантии как и сколько раз макросы раскроются
Ну вот, допустим, ты упоролся и хочешь при раскрытии макроса сходить в сеть, получить жсон со списком сигнатур функций, нагенерировать по нему собственно функций и положить ссылки на них в какую-то структуру данных (оставим за кадром вопрос, что мешает сделать это в рантайме — см. условие №1). Что мешает тебе во время раскрытия этого макроса проверять состояние запроса и наличие данных и, скажем, не отправлять повторные запросы и возвращать сразу готовую структуру при повторном раскрытии?
Исправление Nervous, :
Компилятор не дает тебе гарантии как и сколько раз макросы раскроются
Ну вот, допустим, ты упоролся и хочешь при раскрытии макроса сходить в сеть, получить жсон со списком сигнатур функций, нагенерировать по нему собственно функций и положить ссылки на них в какую-то структуру данных (оставим за кадром вопрос, что мешает сделать это в рантайме — см. условие №1). Что мешает тебе во время раскрытия этого макроса проверять состояние запроса и наличие данных и, скажем, возвращать сразу готовую структуру при повторном раскрытии?
Исходная версия Nervous, :
Компилятор не дает тебе гарантии как и сколько раз макросы раскроются
Ну вот, допустим, ты упоролся и хочешь при раскрытии макроса сходить в сеть, получить жсон со списком сигнатур функций, нагенерировать по нему собственно функций и положить ссылки на них в какую-то структуру данных. Что мешает тебе во время раскрытия этого макроса проверять состояние запроса и наличие данных и, скажем, возвращать сразу готовую структуру при повторном раскрытии?