Синглтон - это шаблон, который можно использовать или злоупотреблять так же, как и любой другой инструмент.
Плохая часть синглтона, как правило, является пользователем (или я должен сказать, что неправильное использование одноэлементного для вещей, не предназначен). Самый большой нарушитель использует синглтон как фальшивую глобальную переменную.
Нет двух признаков. Существует одна черта, которая экспортируется под несколькими взаимозаменяемыми именами. Это далеко не единственный . Практически все в core
также экспортируется из std
и практически всегда находится на одном и том же пути (т. Е. Вы можете просто заменить префикс «core» на «std»).
которую вы должны использовать: Если у вас есть причина не ссылаться на стандартную библиотеку (#![no_std]
), то std::*
один из них недоступен, поэтому очевидно, что вы используете core::*
. Если, с другой стороны, вы do используете стандартную библиотеку, вы должны использовать ремаркетинг std::*
. Это более обычное дело и требует меньшего набора текста.
Они на самом деле точно такие же, несмотря на то, что набор разработчиков представлен как немного отличающийся.
Библиотека core
предназначена для задач с нечетным металлом / низким уровнем, и, таким образом, больше, чем std
может предоставить, предположив, что существует операционная система. Тем не менее, люди, использующие std
, захотят, чтобы материал, который находится в core
тоже (например, Add
или Option
или что-то еще), и поэтому, чтобы не загружать как std
, так и core
, std
реэкспорты все от core
, через pub use
. То есть, std
предоставляет пути псевдонимов / импорта для вещей в core
.
Есть некоторые неудачные сообщения об ошибках , где компилятор указывает на исходный источник элемента , а не реэкспорт, который может быть не в ящике extern crate
.
std
. Должен ли я всегда отмечать его как#![no_std]
, чтобы другие ящики не использовали его? Что делать, если я не отмечаю его#![no_std]
и используюstd::ops::Add
: могут ли другие ящики-нет использовать мой ящик? – Lukas Kalbertodt 12 March 2016 в 00:40std
изno_std
, даже если это используется для использования подмножестваstd
, которое также находится вcore
, что было бы основанием для его применения. Но если ящикno_std
позже найдет причину для начала в зависимости отstd
, это будет изменением, поэтому некоторые люди опасаются быть слишкомno_std
- счастливыми. – user 12 March 2016 в 00:57