Есть ли способ распечатать полный список доступных членов типа или экземпляра в Rust?
Например:
- В Python я могу использовать
print(dir(object))
- В C Clang имеет Python API, который может анализировать код C и анализировать его.
Будучи незнакомым с инструментами Rust, мне интересно знать, есть ли какой-нибудь способ сделать это, либо во время выполнения, либо во время компиляции, либо с помощью функций компилятора (например, макросов), либо с использованием внешних инструментов.
Этот вопрос намеренно широк, потому что точный метод не важен. На любом языке принято хотеть найти все переменные методы/функции. Не зная Руста хорошо, я не ограничиваю вопрос конкретными методами для обнаружения.
Причина, по которой я не определяю точный метод, заключается в том, что я предполагаю, что IDE понадобится эта информация, поэтому для ее поддержки (в конечном итоге) потребуется несколько видов самоанализа. Насколько я знаю, в Rust есть нечто подобное.
Я не думаю, что это дубликат полей Get типа struct в макросе, так как этот ответ может включать использование внешних инструментов (не обязательно макросов).