В расте тоже на макросах придумали. Из-за нетотальных функций на тайплевеле буквально ИДЕ будет страдать, впрочем как и из-за нечистых
Просто надо в апишку макпосов добавить какой-нибуть is_executing_in_ide()
В итоге макрос будет выполнять упрощенную версию и генерить только сигнатурки.
Так сделали в Nemerle, и даже 8 лет назад раскрытие макросов в ИДЕ не создавало особых тормозов