Linker Unsafe
220 subscribers
182 photos
24 videos
18 files
859 links
Собираю ржавые и лямбдообразные новости, прикольные цитатки с форумов, ссылки на статьи и всё такое. В-общем, сюда я тащу такие крупицы, которые мне будет жаль потерять в цифровой бездне. Возможно, они покажутся интересными и вам.

Фи сюда: @nlinker
Download Telegram
Forwarded from Stefan
этот вроде поудобней будет https://cheats.rs/
Forwarded from 71 6Ö5 [GMT +3]
комрады - вопрос, раст динамичное число агрументов не поддерживает - можно ли как-то сделать
a = Struct::new(arg1);
b = Struct::new(arg1, arg2);
Forwarded from SkyCoffee
можно, но костыльно и в nightly https://crates.io/crates/overloadable
ну тут у тебя как бы фриер монада в жс))) адт через прототайп
Forwarded from Leonid 🦇 Onokhov
Поганое солнце стояло в зените,
Поганые люди сидели вокруг,
Автобусом правил поганый водитель,
И очень погано смеялся мой друг.
Forwarded from Денис
x as u16 ничего не сломает, если x: u8, но если ты потом заменишь тип переменной на, скажем, u32, то код продолжит собираться без ошибок и предупреждений, поэтому лучше делать u16::from
SkyCoffee, [25.07.19 19:06]
хороший язык Rust, заставил меня полюбить Си)
компилятор бы ругался, что не может познать лайфтайм для того, что он возвращает

Mikola Summer Duck, [25.07.19 19:07]
Может же
Он его возьмёт с лайфтайма &mut self
Логично выведя, что поле self будет жить столько же, сколько сам self
Без элижона оно будет выглядеть так:

fn get_reg<'a>(&'a mut self, vx: u8) -> &'a mut u8 {
&mut self.registers.v_registers[vx as usize]
}

SkyCoffee, [25.07.19 19:09]
речь же о времени жизни заимствованний, а не самих объектов, так что сложно
вот так я бы не смог вернуть один и тот же регистр два раза за время жизни эмулятора

Mikola Summer Duck, [25.07.19 19:09]
Не, ты не оперируешь временем жизни заимстсвования.
Мог бы. Нельзя держать две пишущие ссылки одновременно, это да.
Но вот это бы работало
let mut reg_a = self.get_reg(1);
a += 1;
let mut reg_b = self.get_reg(2);
b += 9;
Потому что недавно в расте включили NLL, и теперь борровчекер стал намного добрее.
Tux, [26.07.19 09:05]
помогите с лайфтаймами разобраться

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=eb8c22ce3b9df236f9da7e35861bb053

Дмитрий Беляев, [26.07.19 10:20]
[In reply to Tux]
мне кажется из Shared::get_ref не получится вернуть ссылку
так как владелец сдохнет по ее завершении

Andrey @ozkriff Lesnikov, [26.07.19 10:26]
да, там lock() мьютекса возвращает гард, который по определению локальный и в этом его смысл. так что прямо так взять и вернуть ссылку вовне нельзя и так и должно быть. в чем сама решаемая задача?

Tux, [26.07.19 10:31]
[In reply to Andrey @ozkriff Lesnikov]
хочу избавиться от статик (который глобальная переменная) синглтона

Tux, [26.07.19 10:34]
и везде его через arc+mutex передавать. и хочется при этом сохранить красивый api, чтобы без кишок типа мьютекса наружу. как в actix контекст в Data передается
Stanislav Popov:
врёти что хаскель простой. там такие нагромождения, просто ад

тайп фемелис, линейные типы, миллион экстеншенов, миллион фиксов позволяющих делать чтото для чего то что раньше не делалось

λeonid Onokhov:
линейных типов ещё нет
почти все экстеншены считай что просто часть языка

Stanislav Popov:
ну я вот это прочитал https://gist.github.com/klapaucius/8fc2fbb48606e6dd9a9a095898e3fac4
λоλторт:
задачи на собеседованиях помогают понять, умеет ли человек своей головой думать

в этом плане для интервьюера даже лучше, если человек изначально решения не знает

тогда можно проследить ход мыслей собеседуемого

Слава:
А интервьюер сам умеет, или его сюда по иному принципу взяли?

С одной стороны, я как бы за академичность, с другой - ну-ка, суки, давайте-ка выкиньте тогда Линукс и прочую инженерию в духе "good enough", которой вы так радостно пользуетесь (особенно мыскль). И переходите на FreeBSD, а то и на Hurd. Будьте последовательны.

Охуенный подход. Спрашивать человека о том, чего он гарантированно не знает. А вы кого берете-то, и в курсе ли вы, как работает человеческое мышление в моменты делания чего либо?

Если не в курсе, поясняю: человек делает то, что он умеет делать, и делает это так, как он умеет делать. Именно поэтому все успешные языки похожи на сраную сишечку - потому что её умеют программисты, те, что есть. Именно поэтому так популярен питон - его студентишки учат, а потом сразу его знают и пишут на нем километры кода на своей дата сцаенс работе. И поэтому же js жил, жив и жить будет - его уже умеют. То есть, более продуктивным и разумным возможно было бы заявить "так, программистишки, с завтрашнего дня начинаем учить Окамл, и будет на нем писать под браузер (компилируя в js)". Но этого никто не делает, потому что знают - подход не взлетит. А на собеседованиях глумиться - это как здрасьте. Я полагаю, что это от природного мазохизма физматов - в то время, как будущие юристы трахали одноклассниц и одноклассников, физматы учились, вот и привыкли к долготерпению и страданиям.

Откуда ты знаешь, ты собеседовал, и проводил допросы достаточного количества собеседующих?
Forwarded from Aliester Crowley
Forwarded from Nick Ivanych
Неа, ничо там не исправляли.
Вот pijul, как раз, и есть почти что darcs (какой-то одной фичи не хватает), но с оптимальными алгоритмами.
Forwarded from Nick Ivanych
However, Pijul's pristine format was designed to comply with axioms on a specific set of operations only.
As a result, some of darcs' features, such as darcs replace, are not (yet) available.
https://pijul.org/manual/why_pijul.html