Size: a a a

2020 August 18

RP

Roman Proskuryakov in rust_offtopic
какой еще инициализатор? мы до выделения еще не дошли
источник

RP

Roman Proskuryakov in rust_offtopic
прежде чем указатель попал в инициализатор, надо область памяти где-то выделить
источник

M

MrSmith in rust_offtopic
А мы и не дайдем пусть пользователь выделяет как хочет
источник

M

MrSmith in rust_offtopic
Roman Proskuryakov
прежде чем указатель попал в инициализатор, надо область памяти где-то выделить
Ну юзер где то и выделит
источник

RP

Roman Proskuryakov in rust_offtopic
как юзеру сказать про размер и выравнивание?
источник

M

MrSmith in rust_offtopic
А ему только размер нужен
источник

Ct

Casual tears in rust_offtopic
MrSmith
А ему только размер нужен
А инициализитор должен через write_unaligned инициализировать что ли?
источник

RP

Roman Proskuryakov in rust_offtopic
Casual tears
Юзер выделил тебе без выравнивания, а твоя либа попыталась через simd инструкции потом структуру инициализировать, которые выравнивания требуют, твоя либа валится в корку. Дальше что будешь делать?
источник

M

MrSmith in rust_offtopic
Юзер пойнтер на кусок памяти даст нужного размера
источник

M

MrSmith in rust_offtopic
Все
источник

M

MrSmith in rust_offtopic
some_t* init_from_raw(void* ptr);
источник

RP

Roman Proskuryakov in rust_offtopic
MrSmith
Юзер пойнтер на кусок памяти даст нужного размера
https://c9x.me/x86/html/file_module_x86_id_180.html

the operand must be aligned on a 16-byte boundary or a general-protection exception (#GP) is generated
источник

RP

Roman Proskuryakov in rust_offtopic
это не хотелки наши, у тебя так проц устроен, что ты без выравнивания будешь получать уб
источник

M

MrSmith in rust_offtopic
Рука лицо
источник

M

MrSmith in rust_offtopic
А пользователь либы то причем как вы память заполняете и где мувы вызываете
источник

M

MrSmith in rust_offtopic
Вы действительно не понимаете что если пользователю вашей библиотеки нужно знать о выравнивании предоставляемой памяти и где там в 128 битах что он сунул как лежит то ваша либа это кусок куска или библиотека ассемблера под x86
источник

M

MrSmith in rust_offtopic
Нет бы признать что это ошибка проектирования была но сказал же Джун топим до конца значит, делаем вундервафли не отвечающие интересам бизнеса и проектировки ПО, но зато с умным видом
источник

Ct

Casual tears in rust_offtopic
MrSmith
А пользователь либы то причем как вы память заполняете и где мувы вызываете
Покажи как правильно заполнять и читать невыровненную память из раста без боли.
источник

M

MrSmith in rust_offtopic
источник

Ct

Casual tears in rust_offtopic
UB
источник