Size: a a a

Compiler Development

2020 February 27

AZ

Alexander Zaitsev in Compiler Development
ааа, да-да. Это типичные расторассказы
источник

AZ

Alexander Zaitsev in Compiler Development
всё на Rust переписать вообще. Вот тогда заживём! 😊
источник

BD

Berkus Decker in Compiler Development
Alexander Zaitsev
всё на Rust переписать вообще. Вот тогда заживём! 😊
это вполне практичный вариант, т.к. можно заменять по одной функции
источник

BD

Berkus Decker in Compiler Development
Т-34 85
Написать std для C++ на Rust и через FFI выдать
я не предлагал писать std для c++, попробуй читать
источник

M

MaxGraey in Compiler Development
Moziilla решила не париться с переписыванием на Rust сишного кода и просто конвертнула в WebAssembly а потом обратно в натив и получила безопасный и резистивный к UB и переполнениям бинарь еще и с сендбоксом =)))
https://hacks.mozilla.org/2020/02/securing-firefox-with-webassembly/
источник

Т8

Т-34 85 in Compiler Development
Berkus Decker
я не предлагал писать std для c++, попробуй читать
А, имелось в виду вообще в принципе писать код на Rust? Но вопрос был про то, что можно с C++ сделать? explicit лишь локально решает, когда -Wconversion вообще всё охватывает
источник

BD

Berkus Decker in Compiler Development
Т-34 85
А, имелось в виду вообще в принципе писать код на Rust? Но вопрос был про то, что можно с C++ сделать? explicit лишь локально решает, когда -Wconversion вообще всё охватывает
ну если тебе прямо надо хватать вообще ВСЕ конверсии, то раст идеальный вариант, внезапно
источник

BD

Berkus Decker in Compiler Development
Т-34 85
А, имелось в виду вообще в принципе писать код на Rust? Но вопрос был про то, что можно с C++ сделать? explicit лишь локально решает, когда -Wconversion вообще всё охватывает
в плюсах идея такая что всё что можно происходит неявно, пока не запретишь, так что в большом коде получается зоопарк и -Wall -Wextra -Werror -pedantic вот это вот всё
источник

Т8

Т-34 85 in Compiler Development
Berkus Decker
ну если тебе прямо надо хватать вообще ВСЕ конверсии, то раст идеальный вариант, внезапно
В принципе, можно и Rust, но, чтобы не так больно было, брать смартпоинтеры вместо ссылок-заимствований. И просто, и безопасно
источник

BD

Berkus Decker in Compiler Development
Т-34 85
В принципе, можно и Rust, но, чтобы не так больно было, брать смартпоинтеры вместо ссылок-заимствований. И просто, и безопасно
Смартпойнтеры не очень просто, и не совсем безопасно. Я с ними много работаю и это ебучее минное поле. Требует немало дисциплины и планирования. Пусть уж компилятор разбирается по большей части.
источник

M

MaxGraey in Compiler Development
Т-34 85
В принципе, можно и Rust, но, чтобы не так больно было, брать смартпоинтеры вместо ссылок-заимствований. И просто, и безопасно
Заимствования проще. Кроме того использование Box, Rc, Ref, RefCell не спасет от borrow чекера)
источник

Т8

Т-34 85 in Compiler Development
Berkus Decker
Смартпойнтеры не очень просто, и не совсем безопасно. Я с ними много работаю и это ебучее минное поле. Требует немало дисциплины и планирования. Пусть уж компилятор разбирается по большей части.
Но это проще, чем воевать с borrow checker
источник

M

MaxGraey in Compiler Development
Т-34 85
Но это проще, чем воевать с borrow checker
источник

BD

Berkus Decker in Compiler Development
Т-34 85
Но это проще, чем воевать с borrow checker
нет конечно, зачем с ним воевать
источник

Т8

Т-34 85 in Compiler Development
MaxGraey
Заимствования проще. Кроме того использование Box, Rc, Ref, RefCell не спасет от borrow чекера)
Но хоть с лайфтаймами у себя смартпоинтеры сами разруливают
источник

BD

Berkus Decker in Compiler Development
Т-34 85
Но хоть с лайфтаймами у себя смартпоинтеры сами разруливают
ты про какие смартпойнтеры именно? что они там разруливают
источник

BD

Berkus Decker in Compiler Development
плюсовые?
источник

BD

Berkus Decker in Compiler Development
растовые смартпойнтеры это Box/Rc/Arc
источник

Т8

Т-34 85 in Compiler Development
Berkus Decker
ты про какие смартпойнтеры именно? что они там разруливают
Лайфтаймы не надо указывать, когда берёшь Rc вместо &
источник

Т8

Т-34 85 in Compiler Development
Berkus Decker
нет конечно, зачем с ним воевать
Чтобы скомпилировалось наконец
источник