Чтобы добавлять сообщения и комментарии, .

@ndtimofeev:
ndtimofeev

В пакетном менеджере Cargo реализована команда "cargo check", при указании которой компилятором выполняются все совершаемые при сборке проверки кода, но пропускаются достаточно ресурсоёмкие стадии, связанные с генерацией исполняемых файлов. Для некоторых проектов "cargo check" может выполняться в несколько раз быстрее обычной сборки, что позволяет значительно сэкономить время разработчика при выполнении тестовых пересборок, обычно используемые в процессе разработки чтобы убедиться, что добавленный код компилируется; Хм… А ghc умеет в то чтобы натравить на исходник тайп-чекер и не генерить ничего?

@O01eg:
O01eg

Это просто праздник какой-то: linux.org.ru
"Состоялся первый публичный релиз системы управления версиями Pijul 0.3, написанной на языке программирования Rust. Pijul объединяет в себе производительность git и простоту использования darcs. Основанная на модели теории патчей, система Pijul направлена на то, чтобы сделать операции слияния и забора определенных коммитов (cherry-pick) более интуитивным.
Pijul можно установить при помощи Cargo (пакетного менеджера для Rust): команда cargo install pijul соберёт самую последнюю версию. Минимальная для сборки версия Rust — 1.15.1."

@O01eg:
O01eg

nostarch.com

@O01eg:
O01eg

Вот и появился скриптовый язык моей мечты: github.com
"Documentation
Gluon is a small, statically-typed, functional programming language designed for application embedding.
Features
Statically typed — Static typing makes it easier to write safe and efficient interfaces between gluon and the host application.
Type inference — Type inference ensures that types rarely have to be written explicitly giving all the benefits of static types with none of the typing.
Simple embedding — Marshalling values to and from gluon requires next to no boilerplate, allowing functions defined in Rust to be directly passed to gluon.
UTF-8 by default — Gluon supports unicode out of the box with utf-8 encoded strings and unicode codepoints as characters.
Separate heaps — Gluon is a garbage-collected language but uses a separate heap for each executing gluon thread. This keeps each heap small, reducing the overhead of the garbage collector.
Thread safe — Gluon is written in Rust, which guarantees thread safety. Gluon keeps the same guarantees, allowing multiple gluon programs to run in parallel (example)*
* Parallel execution of gluon programs is a recent addition and may still have issues such as deadlocks."

@O01eg:
O01eg

blog.rust-lang.org
"The largest addition to Rust 1.16 is cargo check. This new subcommand should speed up the development workflow in many cases."
Мощно:
"When slicing a &str, you’ll see better errors. For example, this code:
&"abcαβγ"[..4]
Is incorrect. It generates this error:
thread 'str::test_slice_fail_boundary_1' panicked at 'byte index 4 is not
a char boundary; it is inside 'α' (bytes 3..5) of `abcαβγ`'
The part after the ; is new."

@O01eg:
O01eg

Градостроительный симулятор, который мы заслужили: cityboundsim.com
"The city sim you deserve.
Cities are complex and that's why you love them.
Experience a true city: millions of interactions between people, companies and neighborhoods. Follow detailed daily lifes, see businesses struggle in the local economy and be mesmerized by the traffic simulation. Each citizen is simulated individually, their behaviour is realistic and adorably human.
Think and plan as the urban developer that you are.
Prepare changes to your city by creating the perfect plan. Use the most powerful and yet intuitive drawing tools in any city sim ever. Create the craziest roads and intersections, lay out custom parks or even airports. Juggle projects, set priorities and recover from bad situations.
Create a city that looks like a city.
Let your city grow across a beautiful landscape, without boundaries. Enjoy detailed control over zones that curve along roads. Be surprised by procedural architecture that uniquely adapts to the available space and the local circumstances. What style and flavor will your city have?
Humble beginnings, ambitious goal.
Anselm Eickhoff builds Citybound. It gained attention as a small prototype, then became his fulltime dream project. Now he is chipping away at the impossibility of the task.
Cutting edge tech and latest research.
The solid foundation: a custom geometry toolset, high-performance microsimulation framework and economy model — based on and inspired by countless papers and theses.
We are getting there — be a part of the process.
Citybound is developed completely open source. In addition, I regularly update my community about my progress, we discuss all kinds of aspects and even invent stuff together!
My funding model is honest and sustainable: I make every new prototype available to everyone and fans pledge a monthly contribution of their choosing."

@O01eg:
O01eg

reddit.com "Hi, Reddit!
I posted here for a few times, and now our team has reached the important stage of development — we are launching our Greenlight campaign on Steam.
Game idea
Our idea is quite simple — we found [an article](gafferongames.com/networking-for-game-programmers/) about network physics synchronization and realized, that there are very few games that use physics extensively as the core part of gameplay. We have very big plans on this idea, but as a first step — we want to launch our first game with this technology. We found the simplest game mechanics exposing this physics idea and started to work.
Feedback on the language
First of all — Rust is an amazing language for game development, maybe it is the best one.
We have Rust stable on build machine and nightly for development. Nightly is used only for compiler intrinsics for a profiler. There were problems with nightly one or two times, but simple downgrades to previous nightly solved the problem. The main issue was compilation time — our biggest crate compiled for about 3 minutes. But with incremental compilation, it's almost fixed. It still takes minutes sometimes, but often — only a few seconds. I am using incremental compilation from very early testing versions — and I had only one time when it generated invalid code.
During this year I had only one (ONE!!) bug in the code that was really hard to find. The entire program behaved really strange, crashing sometimes with strange backtrace inside a hashmap implementation. This bug was found within a day, I just double-triple-etc checked all usages of "unsafe" keyword in the codebase (there were 3 times). And yes, the bug was in one of those unsafes.
Most of the time I was the only programmer, and basically, we were a 3-person team — me, 3d and 2d artists. Recently, my friend joined us as the second programmer. He works on the particle system now. He had no experience with Rust at all, so I watched how fast or painful learning of Rust is for a newbie. And he was completely satisfied! I found that Rust is absolutely good as a mentor. I mean — when you write good code, it compiles smoothly, but when you made a bad decision (like to store pointers to dynamic data everywhere or building over complicated structures) Rust tells you — please, stop, think more on design. And it actually works! I’ve seen how Rust teach you how to code.
The biggest question, when we started our game with Rust, was about the libraries and an infrastructure. How to build a GUI? How to work with 3d party data? And, yes, we had some problems with libraries. After all, the only big library we are using — is glium. I can't say that glium is perfect, but it works. Our rendering is quite simple, and it works well for our needs. The best part of glium — you don't go too far from OpenGL, so, theoretically, it may be replaced or changed when it will be really needed. On the other hand, glium just works at the beginning and is simple and useful. It’s sad that it's almost not supported anymore, but I absolutely understand reasons behind that. Maybe we will do our own glium-compatible (at least the part we use) OpenGL wrapper, maybe we'll try to add needed features to glium. "

@justonemore:
justonemore

nibblestew.blogspot.com

@O01eg:
O01eg

blog.rust-lang.org
"The build system for Rust has been re-written in Rust, using Cargo. It is now the default. This process has been long, but has finally borne fruit. Given that all Rust development happens on the master branch, we’ve been using it since December of last year, and it’s working well. There is an open PR to remove the Makefiles entirely, landing in Rust 1.17. This will pave the way for rustc to use packages from crates.io in the compiler like any other Rust project, and is a further demonstration of the maturity of Cargo.
Rust has gained Tier 3 support for i686-unknown-openbsd, MSP430, and ARMv5TE."

@O01eg:
O01eg

У — удобно: `cargo install cargo-tree`

@O01eg:
O01eg

Rust обгоняет Go: medium.com
Hashtests time: Rust 135 seconds, Go 290 seconds
Rust: 82.5 seconds, Go 165 seconds, Pypy 310 seconds

@O01eg:
O01eg

Новый вид грипа, заразившийся им переписывает ПО на Rust: wilfred.me.uk

@hizel:
hizel

reddit.com ок

@segfault:
segfault

github.com
Чуть-чуть запала не хватило.

@leogiches:
leogiches

Проведена оптимизация кода сравнения идентичности переменных во время выполнения унификации типов. Число операций при таких сравнениях сокращено с O(n!) до O(n), что привело к значительному ускорению компиляции некоторых типов проектов.
сравнения идентичности переменных
сокращено с O(n!) до O(n)
opennet.ru

@qnikst:
qnikst

Вот есть в rust enum, я делаю repr(C) и надеюсь в сях (на самом деле в хацкелях) получить отображение этой структурки. Т.к. документация зашкаливает или я не умею её искать то беру gdb и смотрю что там вижу:

(gdb) print a
$3 = {{RUST$ENUM$DISR = BCC, __0 = 0, __1 = 4294967295}, {
RUST$ENUM$DISR = BCC, __0 = 18446744073709551615}}
(gdb) ptype a
type = union RustEnum {
struct A;
struct BCC;
}
(gdb) ptype struct A
type = struct A {
enum class RustEnum RUST$ENUM$DISR;
i32 __0;
u32 __1;
}
(gdb) ptype struct BCC
type = struct BCC {
enum class RustEnum RUST$ENUM$DISR;
u64 __0;
}
(gdb) ptype enum RustEnum
type = enum class RustEnum {A, BCC}

вопрос, что за чудо этот enum class и каким образом мне написать сишный typedef, чтобы правильно отображал данную структуру.

Если я правильно понимаю, то enum class это более умный enum и я могу радостно использовать __tag вместо этого, а что с размером? По каким-то докам минимальный достаточный для отображения типов, так ли это? и могу ли я положиться на порядок или нет?

@segfault:
segfault

opennet.ru
В состав нового выпуска принято более 1400 изменений, из которых выделяется два улучшения языка. Первым улучшением языка является возможность <github.com> перегрузки операторов <ru.wikipedia.org> присвоения, таких как "+=" и "-=", что позволяет адаптировать их для манипуляции со сложными структурами данныхНе смешно.

@qnikst:
qnikst

Так все задачи (кроме одной но её я не знаю как делать и лень изобретать или искать алгоритмы тематические) на rust на exersism.io заделал. Не так и плохо

@Balancer:
Balancer

Вчера писал, что интересно было бы посмотреть в «Объектом Фибоначчи» на Rust. Сегодня слепил такое вот: github.com Сильно не пинайте, это было написано через 15 минут после начала изучения языка (засекал). Я даже не знаю до сих пор, как дело в Rust со сборкой мусора и это эквивалент Java/C-хипового или C-стекового.

Получилось 0.603 сек., что почти вдвое хуже стекового Си (0.350) и немного лучше Java (0.685) со сборкой мусора.

Обновлённая таблица: github.com

@reflechant:
reflechant

Начал учить Rust. Нравится.

@segfault:
segfault

redox-os.org

@ZerGabriel:
ZerGabriel

Успехи Rust: Подготовка первого выпуска Servo и использование в новом хранилище Dropbox
opennet.ru
Разработчики проекта Mozilla объявили о намерении сформировать в июне первый альфа-выпуск нового браузерного движка Servo, написанного на языке Rust, а также построенного на базе данного движка web-браузера Browser.html с интерфейсом на базе технологий HTML5. В качестве основных критериев готовности Servo рассматривается обеспечение качественной обработки сайтов github, duckduckgo, hackernews и reddit, которые в целом уже работоспособны в Servo, но полностью не лишены отдельных нерешённых проблем с отрисовкой и функциональностью.

@Zert:
Zert

На расте уже машинное обучение клепают github.com

@segfault:
segfault

youtube.com
Приключения программиста на Rust.

@ndtimofeev:
ndtimofeev

А как реализованы суммы типов в Rust на уровне памяти?

@CaufMAN:
CaufMAN

Купил на распродаже раст. Персональный сервак так и не законнектился ни по одной из инструкций. Решил поиграть на офсерваках. Господи, какой же ад и блевотня на большинстве из них! Овердохуя башень и лачуг вокруг респа, куча нагибаторов за новичками, примиьивная система крафта вперемешку с достаточно примитивным же шутером.. Помесь контры и майна для тупых школьников. Снес к хуям это говно. Как там говорите можно денег вернуть?

@k0st1x:
k0st1x

пробежался по статье "Сравниваем Swift и Rust"
habrahabr.ru
делаю вывод, что писать на "свифте" явное проще, понятнее, код пишется адекватнее, работает предсказуемее, по сравнению с "растом".
"раст" прям таки написан чужими для хищников.

@Kerrigan:
Kerrigan

Запилил минимальный пример клиента для OpenSSL ибо нигде актуального нет gist.github.com

@Zert:
Zert

Александреску вроде как ругает всё, кроме C++, но по сути скорее хвалит Rust. Значит ли это, что Rust обречён на успех? quora.com

@ufm:
ufm

"Вы можете выстрелить себе в ногу, но при этом пистолет можно держать строго одной рукой"

@O01eg:
O01eg

Rust for Reptiloids: pbs.twimg.com

@O01eg:
O01eg

М-м-максисмум хипстота: youtube.com

@Shura:
Shura

Смотрю Rust, он здорово отдаёт паскалем.

@ndtimofeev:
ndtimofeev

tab.snarc.org — Все мы знаем, что haskell — идеальный язык для любых задач и лишь недостаток библиотек не даёт использовать его в больших серьёзных проектах уровня национального поисковика. Но теперь ваши мольбы услышаны и решение есть: интероп с Rust! ТАДА!

@O01eg:
O01eg

В GTK системный трэй считают устарешим, а в QML (сама Qt в rust не поддерживается) трэй просто не поддерживается.

@O01eg:
O01eg

blog.rust-lang.org

@O01eg:
O01eg

Rustonomicon killercup.github.io

@O01eg:
O01eg

oreilly.com

@borman:
borman

Поддержку HiDPI (это когда pixels ≠ screen coordinates) умудрились проебать примерно в каждом связанном с OpenGL проекте уровнем выше того, на котором предоставляется API, позволяющее, собственно, это узнать.
Есть подозрение, что одна из причина этого — то, что любые API, предоставляющие такие знания, задизайнены как сраный костыль, прилепленный сбоку. Причем, родной интерфейс макоси говорит "тебе надо всё на 2 помножить", а в glfw, например, это превращается в "у тебя тут окно 300*400, под которым фреймбуффер 600*800, иди сам считай коэффициенты".
Всё это, однако, довльно странно, т.к. я ожидал более высокую укомплектованность маками с ретиной среди разработчиков на модном язычке.

@borman:
borman

Образцово-показательно жырный способ тро^Wнаезда на дизайн языка:

I first vaguely heard about Rust couple months ago when v1 was released. I've only started to have a deep look at it about 48 hours ago, looking for a C++ alternative, so far I'm very excited (and confused too), and I could see reasons to believe Rust might become mainstream in a near future.
<...>
closures |x| {} would have been nicer with this style: x => {}
camelCase is nicer than underscore_style for functions/methods
modules namespaces should be clearer, in PascalCase, (and overall the api needs to be better organized).
Box <T> as a core feature, should have some symbol or keyword, to express instances allocated on the heap.
Result<T> should have something nicer than myResult.unwrap() (maybe *myValue ?)
Instantiating Smart pointers should be nicer, more intuitive and less verbose than Arc::new(T) (maybe renaming these types)
I don't like the 'let' keyword, I don't really know why haha.

via users.rust-lang.org