172 похожих чатов

Доброго времени суток! Я недавно начал изучать Rust. Поэтому вопрос

может быть глупым. Не мог бы кто-то объяснить почему компилятор Rust сильно завязан к std? Некоторые типы, типажи из std известны на уровне компилятора уже. Для человека, который пишет на плюсах, немного не понятен такой момент—возникает чувство, что Rust не сможет существовать без std. Ну, насколько это критично уже другой вопрос

3 ответов

14 просмотров

std приклеивается к компилятору с помощью lang items. можно написать свой std, предоставив свои lang items. также большинство важных для компилятора вещей лежит в core, а не в std на самом деле. в пюсах тоже компилятор сильно связан с стдлибой, просто это менее очевидно

Компилятор знает про 1.5 типа Send/Sync. к стд он не привязан потому что в нем есть буквально no_std режим где можно писать и без стд, и без аллокатора

Max Силинг
std приклеивается к компилятору с помощью lang ite...

также можно написать свой core, предоставив свои lang items, но это ночная возможность, которая очень сырая, потому что никому не нужна

Похожие вопросы

Обсуждают сегодня

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
А чем вам питонисты не угодили?😂
.
79
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Всем привет. Поделитесь, пожалуйста, опытом. Есть форма, на которой имеется dbgrid и кнопки: добавить, редактировать, удалить. Если нет записей в dbgrid, то кнопки редактирова...
Евгений
5
type TExtensions<GExtender>=class function GetExtension<GEntityExtenderType>:GEntityExtenderType; end; function TExtensions<GExtender>.GetExtension<GEntityExtenderType...
zamtmn
8
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Всем привет, препод задал вопрос, подскажите пожалуйста, какой адрес инкапсулирует указатель?
Свинка Пеппа
8
Почему никто ещё не написал квантовую виртуальную машину на Windows?
КТ315
7
Вот смотрите у меня есть два стрима сейчас fs, cs: TStream; fs := TFileStream.Create('filename'); cs := TCompressionStream.Create(compression_level, fs); Я хочу сделать так: ...
notme
5
Карта сайта