Size: a a a

Rust — русскоговорящее сообществo

2020 September 18

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Denis
как он проверит валидность памяти в рантайме?
И не надо. Главное ничего нового не сломать.
источник

D

Denis in Rust — русскоговорящее сообществo
эм
источник

D

Denis in Rust — русскоговорящее сообществo
ну дык просто format! можно дёргать и не париться
источник

D

Denis in Rust — русскоговорящее сообществo
не очень понимаю, как MIR поможет
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
А вдруг impl Debug for Foo содержит UB?
Или мы отрезолвили неправильный символ и вызываем вообще неправильную функцию?
источник

D

Denis in Rust — русскоговорящее сообществo
а как MIR-интерпретатор это поймёт?
источник

D

Denis in Rust — русскоговорящее сообществo
miri же инструментирует код, чтобы это отлавливать
источник

V

Vladimir in Rust — русскоговорящее сообществo
Denis
ну дык просто format! можно дёргать и не париться
а как ты макрос в рантайме дернешь ?
источник

D

Denis in Rust — русскоговорящее сообществo
Vladimir
а как ты макрос в рантайме дернешь ?
так это же в скомпилированном коде всё
источник

V

Vladimir in Rust — русскоговорящее сообществo
тогда я не понял для чего ты собираешься выводить формат. Для данных из стека?
источник

D

Denis in Rust — русскоговорящее сообществo
ну идея такая
источник

D

Denis in Rust — русскоговорящее сообществo
вот случилась паника, мы с помощью дебаг-символов вычисляем положение всех стековых переменных
а потом просто формат на них
источник

D

Denis in Rust — русскоговорящее сообществo
хотя наверное не очень получится
источник

D

Denis in Rust — русскоговорящее сообществo
типы-то, по сути, неизвестны
источник

D

Denis in Rust — русскоговорящее сообществo
вряд ли в дебаг-инфе прям полноценная информация о типах будет, скорее только поля структур
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Denis
типы-то, по сути, неизвестны
Известны их имена
источник

D

Denis in Rust — русскоговорящее сообществo
Mikail Bagishov
Известны их имена
этого мало :(
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Я думаю, что из этого можно угадать имя символа для <T as Debug>::fmt
источник

D

Denis in Rust — русскоговорящее сообществo
ну, в принципе, можно попробовать, да
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Ну а сконструировать Formatter не проблема
источник