vladislav
Вектор ты на стек не поместишь
Денис
блин, окей
Маjко
Да и вообще, не стек только смартпоинтеры и контейнеры
Денис
но век внутри делает аллокацию)
Денис
хорошо, переформулирую
Денис
по-моему эвристика такая: нет аллокации — стэк
Денис
=)
Маjко
Тише, не дай б-г он узнает, что аллокатор засоряет память
vladislav
то есть память засорилсь значением 42
Эмм... То что в памяти может лежать какой-то мусор это нормальная ситуация, ты же на сплюсплюс пишешь
vladislav
Ребята, у меня память засорилась :(
Anton
в плюсах он int определяет через new, а потом delete его =)
floppy
Я думал на Раст как раз стараються от этого избавиться
где такое прочитал, у тебя свои источники?
Влад
наверно сам придумал
Денис
в общем нет, раст даже не пытается тебя заставить писать оптимальный код
Денис
(о ужас)
Anton
ну если детально углублятся - 42 может быть отрезано LLVM на этапе оптимизации
Денис
это всё уже implementation-defined
Денис
никаких гарантий на этот счёт нет
Anton
может отрежет, может не отрежет
Денис
а может добавит
Денис
=)
Anton
:D
Денис
просто чтобы потроллить
Anton
Happy debuging 😞
Денис
именно )
Денис
на самом деле это одно-единственное число вообще может в регистр уехать жить
Денис
всякое возможно в нашем бренном мире
Денис
@Lazzlo2096 юзай clippy и будет тебе счастье
Денис
серьёзно
Денис
https://github.com/rust-lang-nursery/rust-clippy
Влад
Это надуманная херня :)
вот конкретный пример, НО он существует, только потому что создалась переменная в другом скоупе, если бы на с++ ты создал переменную в том же скоупе, компилятор бы тебе сказал что такая переменная уже есть и ты не совершаешь такой ошибки "Пример 9. Проект FCE Ultra. Двойное объявление переменной. int iNesSaveAs(char* name) { ... fp = fopen(name,"wb"); int x = 0; if (!fp) int x = 1; ... } "
Влад
если такие ошибки делают, то и двойное обявление переменнной с одним именем делают и подавно, но компилятор тут же поправляет
vladislav
компилятор тебе бы сказал такое, если бы ты флаги поставил нужные
vladislav
по стандарту всё корректно
vladislav
что тем более?
Влад
Тем более, что если бы включил варнинги, то ты бы это заметил
vladislav
Называй переменные адекватно и продумывай дизайн методов, компилятор не спасёт тебя от всех ошибок
Влад
ну я же не говорю что собираюсь специально говнокодить. По этому и спрашиваю есть ли в rustc подобные варниги?
Денис
в твоём конкретном примере сразу два стандартных варнинга: неиспользуемая переменная и неиспользуемое присвоение
Денис
так что придумай что-то поинтересней, и не из сей, если можно
Денис
и тебе уже я два раза сказал
Денис
два
Денис
юзай КЛИППИ
vladislav
ну я же не говорю что собираюсь специально говнокодить. По этому и спрашиваю есть ли в rustc подобные варниги?
ты уже раза 3-4 это спросил, тебе уже ответили несколько раз, чего вы ещё желаете?
Влад
он встроен а rustc?
vladislav
омг
vladislav
тебе даже ссылку дали, ты прочитать не в силах?
Влад
погодите погодите, дайте хочть почиать что это
Денис
vladislav
Денис
стикеры божественные
Денис
один лучше божественнее другого)
Влад
Хорошо, буду юзать его
vladislav
урааа
Влад
в своё опрадвдание хочу сказать, что уже собирался прочитать что это (у меня уже была открыта вкладка), но сперва я хотел найти конкретный пример подобных ошибок, чтобы меня не держали за надумывальщика,кек
Anton
аминь
vladislav
скорее всего ты просто не опытный и не видел реальных ошибок в коде
Bugworm
такие ошибки крайне редки, и тот же clippy тебя от них избавит, если тебя это так сильно волнует. При этом, юзабилити у шадоуинга достаточно неплохое
Bugworm
в расте, по крайней мере, трудно налажать с шадоуингом имхо
Влад
Окей, спасибо что подсказали!
Αλεχ
Так, серьезный вопрос
Αλεχ
я хочу сделать хэшмапу с некоторыми объектами
Αλεχ
и массив с ссылками на объекты из этой хэшмапы
Αλεχ
как бы это так сделать, чтобы работало?
Αλεχ
struct Foo<'a> { map: HashMap<String> vec: Vec<&'a str> }
Αλεχ
например
Αλεχ
и объекты vec это ссылки на значения из map
Loo
как бы это так сделать, чтобы работало?
https://play.rust-lang.org/?gist=541023a4a86e00eb8a7a5c91aca67356&version=stable
Loo
но вообще с self references в игрушечном траблы насколько я помню
Loo
там даже костыли в виде https://github.com/jpernst/rental
Loo
были
Антон
я один поехавший, который хочет канпелять раст прямо на телефоне?
Программировать на телефоне - это в принципе глубоко порочная идея
Filipp
Чому?