Size: a a a

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

2020 October 09

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
polunin.ai
часть компилятора*
Опять мимо
источник

p

polunin.ai in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Опять мимо
нет
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Опять мимо
Да. Вот выше кусок стдлибы, который тупо вынесен в компилятор.
источник

p

polunin.ai in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Опять мимо
это опциональная часть компилятора, так устраивает?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
И таких кусков дохрена.
Стдлиб — это не библиотека, это обёртка над кишками rustc.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Которые недоступны всем остальным библиотекам.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
https://doc.rust-lang.org/stable/src/alloc/boxed.rs.html#174
Классно, правда? Наверное, каждый может написать свой оператор box, который возвращает кастомный тип?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
а так как других компиляторов раста нет и не предвидится, можно говорить что std rust не умеет в обработку ошибок аллокации
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
polunin.ai
это опциональная часть компилятора, так устраивает?
Это вообще не часть компилятора. То что stdlib местами зависит от кишок компилятора, не делает ее частью компилятора так же как зависимость телоксида от токио не делает его частью токио.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Нельзя написать другую стдлибу. Эта стдлиба — всё, что есть.
источник

p

polunin.ai in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Это вообще не часть компилятора. То что stdlib местами зависит от кишок компилятора, не делает ее частью компилятора так же как зависимость телоксида от токио не делает его частью токио.
в компиляторе есть части stdlib, в токио нет частей телоксида
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Emmanuel Goldstein
https://doc.rust-lang.org/stable/src/alloc/boxed.rs.html#174
Классно, правда? Наверное, каждый может написать свой оператор box, который возвращает кастомный тип?
Box можно создать без этого оператора. И ты можешь написать свой бокс, совершенно без этого оператора
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Может быть, внешняя библиотека может оставить дроп компилятору?
https://doc.rust-lang.org/stable/src/alloc/boxed.rs.html#544
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
polunin.ai
в компиляторе есть части stdlib, в токио нет частей телоксида
Какие?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
<Box as Drop>::drop, например.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Или format_args!
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Может быть, внешняя библиотека может оставить дроп компилятору?
https://doc.rust-lang.org/stable/src/alloc/boxed.rs.html#544
Внешняя библиотека может использовать аллокатор сама.
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Emmanuel Goldstein
<Box as Drop>::drop, например.
Как собственно и format_args может быть написан через прокмакросы.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Внешняя библиотека может использовать аллокатор сама.
Это не поможет. Бокс — ключевой тип для компилятора. Ты не можешь реализовать свой бокс, у тебя сломается всё.
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Это не поможет. Бокс — ключевой тип для компилятора. Ты не можешь реализовать свой бокс, у тебя сломается всё.
И что фундаментально особенного делает компилятор с боксом, чего нельзя сделать без билтинов?)
источник