1.83K subscribers
3.3K photos
132 videos
15 files
3.58K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
Forwarded from Kedr to Earth | Земля, я Кедр ( Yuri Ammosov)
В MS Office после последнего апдейта восстановили тулбар с иконками. И надо было с 2008 года и так и эдак впихивать юзерам "ленту", чтоб вернуться назад? 15 лет бились за дурную идею, полтора десятка лет!
8😁8👍2👎2🤔2🖕1
#prog #rust #article

The Rust I Wanted Had No Future

Статья от Graydon Hoar — изначального автора Rust — о том, каким мог бы выйти язык, не отойди он от руководства проектом.

Divergence in preferences are real! My preferences are weird. You probably wouldn't have liked them. <...>. If I'd stayed in charge (or even asserted a more robust sense of "being in charge" when I was nominally moreso) the result would have been, I think, fairly unpopular. The Rust I Wanted probably had no future, or at least not one anywhere near as good as The Rust We Got.
👍52😁1🖕1
Я предсказуем.

Порой я читаю какое-то относительно старое публичное обсуждение, вижу чей-то комментарий и думаю, как бы я мог на это ответить. А потом читаю дальше и вижу собственный комментарий, слово в слово как я придумал у себя в голове. Иногда только со слегка иным порядком слов.
👍7😱5🤔1🤩1🖕1
Forwarded from Neural Machine
Поплачьте сейчас, дальше может не хватить сил
👍8😭51🖕1
14🖕1
Блог*
#kbd
I mean, it is not even wrong
🍌91💩1🖕1
👍13😁4🖕1
#prog #rust

Хозяйке на заметку

В std::env есть функции split_paths и join_paths. Первая разбивает список путей в формате, используемом в переменной окружения PATH, а вторая объединяет пути в том же формате.

Их совместное применение вместе с var_os и set_var позволяет программно добавлять новые пути в PATH соответствующим целевой OS способом.
🔥5🥰2🖕1
😒🤚 Заводить друзей
😏👉 Заводить друзей
🍌15😁11😱3🤨31💩1🖕1
OωO
🤩4🖕1
Блог*
Photo
😁6🤡2👍1🖕1
Forwarded from shitposting 3.0 [+ dragons]
😁271🔥1
#prog #rust

Пусть есть такой код:

fn main() {
let ptr: *const u32 = std::ptr::null();
let a = ptr + 5;
let b = ptr[3];
}

Он не компилируется, так как в Rust нет арифметики указателей с синтаксисом плюсов и квадратных скобок:

error[E0369]: cannot add `{integer}` to `*const u32`
--> src/main.rs:3:17
|
3 | let a = ptr + 5;
| --- ^ - {integer}
| |
| *const u32

error[E0608]: cannot index into a value of type `*const u32`
--> src/main.rs:4:13
|
4 | let b = ptr[3];
| ^^^^^^

После этого PR rustc теперь предлагает соответствующие методы:

error[E0369]: cannot add `{integer}` to `*const u32`
--> src/main.rs:3:17
|
3 | let a = ptr + 5;
| --- ^ - {integer}
| |
| *const u32
|
help: consider using `wrapping_add` or `add` for pointer + {integer}
|
3 | let a = ptr.wrapping_add(5);
| ~~~~~~~~~~~~~~ +

error[E0608]: cannot index into a value of type `*const u32`
--> src/main.rs:4:13
|
4 | let b = ptr[3];
| ^^^^^^
|
help: consider using `wrapping_add` or `add` for indexing into raw pointer
|
4 | let b = ptr.wrapping_add(3);
| ~~~~~~~~~~~~~~ ~
👍14🥰1
#prog #rust #article

Iterating on Testing in Rust

Или о том, что не так с тестированием в Rust и что можно с этим сделать.
👍3🖕1