- PVSM.RU - https://www.pvsm.ru -

Rust новости #5 (январь 2019)

Предлагаю вашему вниманию субъективную подборку ржавых новостей за январь. В этой подборке: Rust 1.32, уход Стива Клабника и Ника Камерона, киш от Cloudflare, устройство rust-analyzer и страничной памяти, поиски GUI и async, Oxydyze конференция для встроенщиков.

КДПВ

Rust 1.32 [1]

Вышел Rust 1.32. По сравнению с масштабным прошлым выпуском, на котором было сконцентрировано множество сил всего сообщества, тут серьезных нововведений не очень много:

Подробности в переводе новости [1].

Стив Клабник и Ник Камерон уходят из Mozilla

NYT firefox 1.0

Печальные новости: Стив Клабник [3] и Ник "nrc" Камерон [4] покидают Мозиллу.

В посте Стива "thank u, next" [5] (обсуждение [6]) говорится о том, что главными причинами являются терки с "внешней" по отношению к Rust частью Мозиллы и всякие приземленные денежные вопросы. Стив хочет найти связанную с Rust работу и постарается продолжить принимать участие в жизни и развитии языка, хотя уже точно не в старом объеме.

В "Leaving Mozilla and (most of) the Rust project" [7] (обсуждение [8]) Ник говорит, что просто устал за семь лет от этого проекта и хочет смены обстановки. Он уже вышел на работу в PingCAP [9]:
"Starting at PingCAP" [10] (обсуждение [11]).

Guide to the rust-analyzer & Salsa

схемка логики анализатора

Леша @matklad [12] выложил руководство/экскурсию по структуре rust-analyzer [13] (что это? [14], обсуждение [15]):

rust-analyzer использует библиотеку инкрементальной рекомпиляции Salsa, про ее устройство тоже недавно публиковался пост и пара видео:

ОС на Rust: Страничная память

схема из статьи про память

Цикл статей Writing an OS in Rust [22] пополнился двумя статьями про страничную память:

A bot for Starcraft in Rust, C or any other language? [29]

лого старкрафта

humbug [30] перевел на английский свою статью "Бот для Starcraft на Rust, C и на любом другом языке" [31].

Написание динамической библиотеки под Windows, которая могла бы загружаться в адресное пространство игры StarCraft: Brood War и управлять юнитами.

Если кто не читал, то вот повод ознакомиться. :)

Are We Async Yet?

Вокруг втаскивания асинхронного синтаксиса в язык последнее время так много активности (например [32]), что вот завели отдельную обновляемую страничку со статусом ключевых RFC/обсуждений: areweasyncyet.rs [33] (обсуждение [34]).

Are We GUI Yet?

areweguiyet.com [35] (обсуждение [36]) — похожая попытка собрать в одном месте всю информацию о статусе вечно актуальных попыток родить надежный и идиоматичный GUI для Rust.

Lock-free Rust: Crossbeam in 2019 [37]

Отличный обзор библиотеки crossbeam [38], предоставляющей эффективные lock-free структуры данных, и пути ее эволюции за последние годы (обсуждение [39]).

Ржавые реализации протокола QUIC: Quiche от Cloudflare и Quinn

лого quiche в виде тортика

Экспериментальный протокол QUIC [40] (альтернатива TCP, ликбез [41]) потихоньку набирает популярность. В этом месяце:

  • Вышел Quinn v0.2 [42] (код [43], обсуждение [44]), теперь он является одной из наиболее точных реализаций протокола. В первую очередь эта библиотека ориентирована на идиоматичном Rust API, включая поддержку футур;

  • Cloudflare выпустили [45] свою реализацию — Quiche [46] (обсуждение [47]) — более сфокусированную на проработанном Си API для интеграции в приложения на других языках.

Бесстрашная защита: Безопасность памяти в Rust [48]

симба, не ходи в unsafe

Перевод мозилловской статьи "Fearless Security: Memory Safety" [49], рассказывающей об основах того, как Rust обеспечивает безопасную работу с памятью.

Embedded

кусок схемы из поста

WebAssembly [58]

картинка из статьи про встраивание WASM'а

Игрострой [67]

Одной строкой

Новые и обновленные пакеты

  • Ropey [161] (обсуждение [162]) — эффективная и utf8 совместимая реализация структуры данных Rope/Cord [163], которая часто используется в редакторах текста;
  • hexyl [164] (обсуждение [165]) — консольный хекс-просмотрщик, активно использующий цвета для обозначения групп шестнадцатеричных значений;
  • cargo-cache [166] (обсуждение [167]) — позволяет выборочно чистить куски ~/.cargo/;
  • typetag [168] (обсуждение [169]) — макро-атрибут, дающий возможность безболезненной сериализаций &dyn Trait и десериализации Box<dyn Trait> типаж-объектов;
  • dness [170] (обсуждение [171]) — динамический dns клиент;
  • regex-automata [172] (обсуждение [173]) — предоставляет низкоуровневый интерфейс для работы с регулярными выражениями (в отличие от regex), который менее удобен, но зато позволяет детально контролировать потребление памяти и время поиска; использует DFA [174] и поддерживает сериализацию;
  • Stretch [175] (код [176], обсуждение [177]) — ржавая реализация флексбокса, используется в Shard [178] (как оно запихивается в андроид [179] и в ios [180]);
  • arbalest [181] (обсуждение [182]) — альтернатива обычному Arc, но слабые ссылки не запрещают изменяющий доступ к данным;
  • Toshi [183] (обсуждение [184]) — движок полнотекстового поиска, аналогичный Elasticsearch (альтернатива what Tantivy [185], который ориентируется на Lucene);
  • inferno [186] — ржавый порт перлового визуализатора результатов профилирования flamegraph [187], процесс разработки выкладывается в виде стримов (видео 1 [188], видео 2 [189]);
  • DataFusion v0.6 [190] (обсуждение [191], код [192]) — первая версия in-memory движка запросов, использующая официальную Rust реализацию Apache Arrow [193];
  • cargo-expand v0.4 [194] (обсуждение [195]) — "раскрыватель" макросов теперь поддерживает работу с конкретными модулями/типами/функциями;
  • fluent-rs v0.5 [196] (обсуждение [197]) — ржавая реализация современной системы локализации Fluent [198] обновила подход к выделению ресурсов, получила zero-copy парсер и улучшила документацию;
  • Tokei v9.0 [199] (код [199], обсуждение [200]) — программа подсчета строк в исходном коде получила поддержку конфигурационных файлов, количество понимаемых ЯП выросло до 170;
  • cargo-crev v0.4 [201] (обсуждение [202]) — UX системы распределенного ревью пакетов был переработан в сторону сильного упрощения;
  • Smithay v0.2 [203] (код [204], обсуждение [205]) — в библиотеке для разработки оконных менеджеров для Wayland [206] был добавлен пример Anvil [207], улучшена поддержка цветов и XWayland, переписан DRM;
  • oxide-auth v0.4 [208] (обсуждение [209]) — OAuth2 библиотека была полностью переписана и теперь совместима с actix, rocket и rouille;


Хабр недавно ослабил гайки [210] и теперь разрешает ссылаться на внешние ресурсы-сообщества, так что всех желающих познакомиться с Rust приглашаю заглядывать за помощью и советами в русскоязычные ресурсы по Rust'у:


Это все, спасибо за внимание!

Если я не добавил какую-то важную ссылку или событие, смело закидывайте в комментарии. :)

КДПВ взята отсюда [214], остальные картинки из сайтов соответствующих проектов.

Автор: ozkriff

Источник [215]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/308013

Ссылки в тексте:

[1] Rust 1.32: https://habr.com/ru/post/436854

[2] "единообразные пути" ("uniform paths"): https://github.com/rust-lang/rust/pull/56759#issuecomment-450051210

[3] Стив Клабник: https://www.steveklabnik.com

[4] Ник "nrc" Камерон: https://ncameron.org

[5] "thank u, next": https://words.steveklabnik.com/thank-u-next

[6] обсуждение: https://www.reddit.com/r/rust/comments/adiq71/thank_u_next_steve_klabnik

[7] "Leaving Mozilla and (most of) the Rust project": https://www.ncameron.org/blog/leaving-mozilla-and-most-of-the-rust-project

[8] обсуждение: https://www.reddit.com/r/rust/comments/ah7pkr/leaving_mozilla_and_most_of_the_rust_project

[9] PingCAP: https://www.pingcap.com/en/

[10] "Starting at PingCAP": https://www.ncameron.org/blog/starting-at-pingcap

[11] обсуждение: https://www.reddit.com/r/rust/comments/aihq4s/starting_at_pingcap

[12] Леша @matklad: http://github.com/matklad

[13] rust-analyzer: https://github.com/rust-analyzer/rust-analyzer

[14] что это?: https://ferrous-systems.com/blog/rust-analyzer-2019

[15] обсуждение: https://www.reddit.com/r/rust/comments/ai881s/guide_to_the_rustanalyzer

[16] текстовая версия: https://github.com/rust-analyzer/rust-analyzer/blob/e0d8c86563b72e5414cf10fe16da5e88201447e2/guide.md

[17] полуторочасовая видео версия с наглядными примерами: https://youtu.be/ANKBNiSWyfc

[18] Salsa: Incremental recompilation: http://smallcultfollowing.com/babysteps/blog/2019/01/29/salsa-incremental-recompilation

[19] обсуждение: https://www.reddit.com/r/rust/comments/al46oe/salsa_incremental_recompilation

[20] "How Salsa Works": https://youtu.be/_muY4HjSqVw

[21] "Salsa In More Depth": https://www.youtube.com/watch?v=i_IhACacPRY

[22] Writing an OS in Rust: https://os.phil-opp.com/

[23] Introduction to Paging: https://os.phil-opp.com/paging-introduction

[24] обсуждение: https://www.reddit.com/r/rust/comments/afw9in/writing_an_os_in_rust_introduction_to_paging

[25] перевод: https://habr.com/ru/post/436606

[26] Advanced Paging: https://os.phil-opp.com/advanced-paging/

[27] обсуждение: https://www.reddit.com/r/rust/comments/akmwg8/writing_an_os_in_rust_advanced_paging

[28] перевод: https://habr.com/ru/post/439066

[29] A bot for Starcraft in Rust, C or any other language?: https://habr.com/ru/post/436254/

[30] humbug: https://habr.com/ru/users/humbug/

[31] "Бот для Starcraft на Rust, C и на любом другом языке": https://habr.com/ru/post/416743

[32] например: https://www.reddit.com/r/rust/comments/ahg7yt/an_issue_has_been_opened_to_resolve_await_syntax

[33] areweasyncyet.rs: https://areweasyncyet.rs

[34] обсуждение: https://www.reddit.com/r/rust/comments/ac4sje/are_we_async_yet

[35] areweguiyet.com: http://areweguiyet.com

[36] обсуждение: https://www.reddit.com/r/rust/comments/afhrru/rust2019_areweguiyet

[37] Lock-free Rust: Crossbeam in 2019: https://stjepang.github.io/2019/01/29/lock-free-rust-crossbeam-in-2019.html

[38] crossbeam: https://github.com/crossbeam-rs/crossbeam

[39] обсуждение: https://www.reddit.com/r/rust/comments/akzas0/lockfree_rust_crossbeam_in_2019

[40] Экспериментальный протокол QUIC: https://ru.wikipedia.org/wiki/QUIC

[41] ликбез: https://blog.cloudflare.com/the-road-to-quic/

[42] Quinn v0.2: https://github.com/djc/quinn/releases/tag/0.2.0

[43] код: https://github.com/djc/quinn

[44] обсуждение: https://www.reddit.com/r/rust/comments/aidpmh/quinn_020_quic_protocol_implementation_in_rust

[45] выпустили: https://blog.cloudflare.com/enjoy-a-slice-of-quic-and-rust

[46] Quiche: https://github.com/cloudflare/quiche

[47] обсуждение: https://www.reddit.com/r/rust/comments/aioop9/enjoy_a_slice_of_quic_and_rust

[48] Бесстрашная защита: Безопасность памяти в Rust: https://habr.com/ru/post/438288

[49] "Fearless Security: Memory Safety": https://hacks.mozilla.org/2019/01/fearless-security-memory-safety

[50] oxidizeconf.com: https://oxidizeconf.com

[51] подавать доклады на CfP: https://cfp.oxidizeconf.com/events/oxidize-2019

[52] Building an Embedded Futures Executor: https://josh.robsonchase.com/embedded-executor

[53] обсуждение: https://www.reddit.com/r/rust/comments/akg42h/simple_alloconly_futures_executor_for_embedded

[54] Embedded Rust Experiments — Is my STM32 MCU running fast?: https://nercury.github.io/rust/embedded/experiments/2019/01/27/rust-embedded-02-measuring-the-clock.html

[55] обсуждение: https://www.reddit.com/r/rust/comments/akbnj8/blog_embedded_rust_experiments_is_my_stm32_mcu

[56] My Rust Powered linux.conf.au e-Paper Badge: http://www.wezm.net/technical/2019/01/linux-conf-au-rust-epaper-badge/

[57] обсуждение: https://www.reddit.com/r/rust/comments/ak870t/my_rust_powered_linuxconfau_epaper_badge

[58] WebAssembly: https://rustwasm.github.io

[59] 2019 roadmap RFC for the Rust and WebAssembly working group: https://github.com/fitzgen/rfcs-1/blob/2019-roadmap/text/000-2019-roadmap.md

[60] обсуждение: https://www.reddit.com/r/rust/comments/aks4ze/2019_roadmap_rfc_for_the_rust_and_webassembly

[61] wasm-pack: https://github.com/rustwasm/wasm-pack

[62] Embedding WebAssembly in your Rust application: https://medium.com/wasmer/executing-webassembly-in-your-rust-application-d5cd32e8ce46

[63] обсуждение: https://www.reddit.com/r/rust/comments/ajfrf0/embedding_webassembly_in_your_rust_application

[64] part 1: WebAssembly Is Not a Stack Machine: http://troubles.md/posts/wasm-is-not-a-stack-machine

[65] part 2: Why Do We Need the Relooper Algorithm, Again?: http://troubles.md/posts/why-do-we-need-the-relooper-algorithm-again

[66] part 3: What About Alloca?: http://troubles.md/posts/the-stack-is-not-the-stack

[67] Игрострой: http://arewegameyet.rs

[68] imgui-ext: https://github.com/germangb/imgui-ext

[69] обсуждение: https://www.reddit.com/r/rust_gamedev/comments/akpr7a/imguiext_is_an_experimental_crate_to_quickly

[70] imgui: https://github.com/Gekkio/imgui-rs

[71] пример кода + картинка результата: https://github.com/germangb/imgui-ext#example

[72] Using Rust for Gamedev: https://medium.com/@michelotti.matthew/using-rust-for-gamedev-2f60b0e4cc5c

[73] обсуждение: https://www.reddit.com/r/rust/comments/acr83h/using_rust_for_gamedev_xpost_rrust_gamedev

[74] игрой про пингвина: http://www.luduminis.com/pascal/about

[75] fl3: https://habr.com/ru/users/fl3/

[76] good-web-game: https://github.com/not-fl3/good-web-game

[77] Земерота: https://github.com/ozkriff/zemeroth

[78] ozkriff.itch.io/zemeroth: http://ozkriff.itch.io/zemeroth

[79] обсуждение: https://www.reddit.com/r/rust/comments/ale980/a_wasm_version_of_my_tactical_game_zemeroth_is

[80] WebGL + Rust: Basic Water Tutorial: http://chinedufn.com/3d-webgl-basic-water-tutorial

[81] обсуждение: https://www.reddit.com/r/rust_gamedev/comments/adrq65/webgl_rust_basic_water_tutorial

[82] серией уроков по gfx-hal: https://lokathor.github.io/learn-gfx-hal/01_introduction.html

[83] The State Of GGEZ, 2019: https://wiki.alopex.li/TheStateOfGGEZ2019

[84] обсуждение: https://www.reddit.com/r/rust_gamedev/comments/agp6i0/the_state_of_ggez_2019

[85] Icefoxen: https://github.com/icefoxen

[86] gfx-hal: https://github.com/gfx-rs/gfx

[87] Большой список того, что stevebob сделал игрового на Rust за прошлый год: https://gridbugs.org/2018-recap

[88] картинка: https://gridbugs.org/images/2018-recap/wfc-cat.png

[89] платформерный физический движок: https://github.com/stevebob/simple-physics

[90] попиксельное определение зоны видимости: https://github.com/stevebob/pixel-shadow-experiment

[91] After Hours Game Development: https://alexene.github.io/2019/01/15/After-hours-game-development.html

[92] обсуждение: https://www.reddit.com/r/rust_gamedev/comments/agjnvj/after_hours_game_development_by_alexandru_ene

[93] DF: http://www.bay12games.com/dwarves

[94] Game Server in 150 lines of Rust: https://medium.com/@buterajay/game-server-in-150-lines-of-rust-ce1782199907

[95] обсуждение: https://www.reddit.com/r/rust/comments/aep26k/game_server_in_150_lines_of_rust

[96] kaiju: https://github.com/PsichiX/kaiju-toolset

[97] обсуждение: https://www.reddit.com/r/rust/comments/ad3r9a/hi_rustaceans_im_testing_kaiju_embeddable

[98] GIF демо: https://i.redd.it/nwtlaqwlfr821.gif

[99] Packaging a game for Windows, Mac, and Linux with Rust: https://agmprojects.com/blog/packaging-a-game-for-windows-mac-and-linux-with-rust

[100] обсуждение: https://www.reddit.com/r/rust_gamedev/comments/amne9j/agmprojects_packaging_a_game_for_windows_mac_and/

[101] OpenMoonstone: https://github.com/joetsoi/OpenMoonstone

[102] обсуждение: https://www.reddit.com/r/rust/comments/agp4db/openmoonstone_amigados_game_reimplementation_in

[103] Moonstone: https://en.wikipedia.org/wiki/Moonstone:_A_Hard_Days_Knight

[104] видео демо: https://youtu.be/Jakht4PBzFE

[105] Veloren: https://gitlab.com/veloren/game

[106] видео анимационной системы с демо прикрепления объектов к костям: https://i.imgur.com/Ri9u9jl.gifv

[107] Roboinstruct: https://blog.roboinstruct.us

[108] Alpha-2.0 Real Art Edition: https://blog.roboinstruct.us/2019/01/11/alpha-2.html

[109] Paying Off Technical Debt: https://blog.roboinstruct.us/2019/01/18/paying-off-tech-debt.html

[110] обсуждение техдолга в других проектах: https://www.reddit.com/r/rust_gamedev/comments/ahatic/what_technical_debt_are_you_dealing_with

[111] DPI Transparency & Scaling: https://blog.roboinstruct.us/2019/01/25/dpi-transparency-and-scaling.html

[112] World Scaling & Early Game Additions: https://blog.roboinstruct.us/2019/02/01/world-scaling-and-early-game-tweaks.html

[113] Ammolite: https://metaview.link/articles/introducing-ammolite.html

[114] код: https://github.com/metaview-org/ammolite

[115] обсуждение: https://www.reddit.com/r/rust/comments/af960i/introducing_ammolite_a_real_time_gltf_physically

[116] GIF: https://metaview.link/assets/articles/introducing-ammolite-pbr-helmet.gif

[117] IntelliJ-Rust: https://intellij-rust.github.io

[118] #90: https://intellij-rust.github.io/2019/01/15/changelog-90.html

[119] #91: https://intellij-rust.github.io/2019/01/30/changelog-91.html

[120] переименования зависимостей в Cargo.toml: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#renaming-dependencies-in-cargotoml

[121] macro 2.0: https://github.com/rust-lang/rfcs/blob/master/text/1584-macros.md

[122] GIF: https://user-images.githubusercontent.com/4854600/51183691-0e6a4880-18e3-11e9-8520-78f4d5008a01.gif

[123] GIF: https://user-images.githubusercontent.com/2539310/51984317-13ff8b00-24ac-11e9-987f-839f04f3bfbf.gif

[124] try: https://github.com/rust-lang/rfcs/blob/master/text/2388-try-expr.md

[125] генераторов: https://doc.rust-lang.org/std/ops/trait.Generator.html

[126] WebRender был опубликован на crates.io: https://mozillagfx.wordpress.com/2019/01/10/webrender-newsletter-35

[127] обсуждение: https://www.reddit.com/r/rust/comments/aekwyt/webrender_now_on_cratesio_mozilla_gfx_team_blog

[128] dtolnay/request-for-implementation: https://github.com/dtolnay/request-for-implementation

[129] обсуждение: https://www.reddit.com/r/rust/comments/aiozwa/dtolnayrequestforimplementation_crates_that_dont

[130] Rust сейчас является 13м по популярности языком на GitHub'е: https://twitter.com/jntrnr/status/1082024512701456384

[131] обсуждение: https://www.reddit.com/r/rust/comments/ada21g/rust_is_currently_13th_most_popular_language_on

[132] Джон Кармак учит Rust: https://twitter.com/id_aa_carmack/status/1089286703817412608

[133] обсуждение: https://www.reddit.com/r/rust/comments/ak69zp/john_carmack_started_writing_some_rust

[134] My experience converting a Python library to Rust: https://alantrick.ca/writings/programming/python_to_rust

[135] обсуждение: https://www.reddit.com/r/rust/comments/abfoe0/my_experience_converting_a_python_library_to_rust

[136] Многоэкранная шпаргалка по Rust для новичков: https://www.breakdown-notes.com/make/load/rust_cs_canvas/true

[137] обсуждение: https://www.reddit.com/r/rust/comments/acgtfk/rust_cheat_sheet_beginner_oriented

[138] Is It Time to Rewrite the Operating System in Rust?: https://www.infoq.com/presentations/os-rust

[139] обсуждение: https://www.reddit.com/r/rust/comments/ahap4n/is_it_time_to_rewrite_the_operating_system_in

[140] QCon: https://qconferences.com/

[141] Cборка ripgrep 0.10 (и его зависимостей) в Debian теперь воспроизводима: https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/rust-ripgrep.html

[142] обсуждение: https://www.reddit.com/r/rust/comments/afscgo/ripgrep_0100_is_reproducible_in_debian

[143] /r/rust: "Your favourite Rust tricks?": https://www.reddit.com/r/rust/comments/aftw9n/your_favourite_rust_tricks

[144] /r/rust: Rust в Benchmarks Game в среднем на 3% быстрее C++ и на 4% медленнее Си": https://www.reddit.com/r/rust/comments/akluxx/rust_now_on_average_outperforms_c_in_the

[145] доклад "Rust at speed — building a fast concurrent database": https://www.youtube.com/watch?v=s19G6n0UjsM

[146] обсуждение: https://www.reddit.com/r/rust/comments/acucrs/rust_at_speed_building_a_fast_concurrent_database

[147] график "ржавения" librsvg: https://www.reddit.com/r/rust/comments/ae5xwd/librsvg_oxidation

[148] более подробный отчет о статусе процесса: https://people.gnome.org/~federico/blog/librsvg-is-almost-rustified.html

[149] отдельный отчет об упрощении работы с GObject из Rust: https://people.gnome.org/~federico/blog/librsvg-gobject-in-rust.html

[150] Red Hat Developer: Speed up your Python using Rust: https://developers.redhat.com/blog/2017/11/16/speed-python-using-rust/

[151] обсуждение: https://www.reddit.com/r/rust/comments/agzgeb/speed_up_your_python_using_rust_rhd_blog

[152] QtCreator и его использование в качестве IDE для Rust: https://habr.com/ru/post/437128

[153] /r/rust: Building JavaScript Development Tools with Rust: https://www.reddit.com/r/rust/comments/ai143g/building_javascript_development_tools_with_rust

[154] Scanner (RESS): https://github.com/freemasen/ress

[155] Syntax Analyzer (RESSA): https://github.com/freemasen/ressa

[156] Writer (RESW): https://github.com/freemasen/resw

[157] When Rust is safer than Haskell: https://www.fpcomplete.com/blog/when-rust-is-safer-than-haskell

[158] обсуждение: https://www.reddit.com/r/rust/comments/ah85lu/when_rust_is_safer_than_haskell_fp_complete

[159] /r/rust обсуждение на тему перспектив rust-vs-go в контексте веба: https://www.reddit.com/r/rust/comments/act2v2/is_it_reasonable_to_think_that_rust_will_become

[160] /r/rust: "Where do you think Rust will be in 3 years?": https://www.reddit.com/r/rust/comments/aho6xj/where_do_you_think_rust_will_be_in_3_years

[161] Ropey: https://github.com/cessen/ropey

[162] обсуждение: https://www.reddit.com/r/rust/comments/accvq7/ropey_10_an_editable_text_buffer_for_rust

[163] Rope/Cord: https://en.wikipedia.org/wiki/Rope_(data_structure)

[164] hexyl: https://github.com/sharkdp/hexyl

[165] обсуждение: https://www.reddit.com/r/rust/comments/aegvv1/hexyl_is_a_new_commandline_hex_viewer

[166] cargo-cache: https://github.com/matthiaskrgr/cargo-cache

[167] обсуждение: https://www.reddit.com/r/rust/comments/adsh4o/cargocache_011_released_manage_your_cargo

[168] typetag: https://github.com/dtolnay/typetag

[169] обсуждение: https://www.reddit.com/r/rust/comments/aj2b7u/announcing_serde_trait_objects_finally_the_way

[170] dness: https://github.com/nickbabcock/dness

[171] обсуждение: https://www.reddit.com/r/rust/comments/aev3h1/dness_a_dynamic_dns_client

[172] regex-automata: https://github.com/BurntSushi/regex-automata

[173] обсуждение: https://www.reddit.com/r/rust/comments/acdr9f/regexautomata_a_low_level_regular_expression

[174] DFA: https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D1%8B%D0%B9_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82#%D0%94%D0%B5%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C

[175] Stretch: https://medium.com/visly/stretch-a-flexbox-implementation-in-rust-60762b5a3331

[176] код: https://github.com/vislyhq/stretch

[177] обсуждение: https://www.reddit.com/r/rust/comments/agja9z/stretch_a_flexbox_implementation_in_rust

[178] Shard: https://shardlib.com/

[179] в андроид: https://medium.com/visly/rust-on-android-19f34a2fb43

[180] в ios: https://medium.com/visly/rust-on-ios-39f799b3c1dd

[181] arbalest: https://github.com/nox/arbalest

[182] обсуждение: https://www.reddit.com/r/rust/comments/ahx1un/announcing_arbalest

[183] Toshi: https://github.com/toshi-search/Toshi

[184] обсуждение: https://www.reddit.com/r/rust/comments/afdkdm/toshi_an_elasticsearch_competitor_written_in_rust

[185] Tantivy: https://github.com/tantivy-search/tantivy

[186] inferno: https://github.com/jonhoo/inferno

[187] flamegraph: http://www.brendangregg.com/flamegraphs.html

[188] видео 1: https://www.reddit.com/r/rust/comments/ak6s89/porting_flamegraph_to_rust_video

[189] видео 2: https://www.reddit.com/r/rust/comments/amlgqz/porting_flamegraph_to_rust_part_2_video/

[190] DataFusion v0.6: https://andygrove.io/2019/01/datafusion-0.6.0/

[191] обсуждение: https://www.reddit.com/r/rust/comments/aibk39/datafusion_060_inmemory_query_engine_for_apache

[192] код: https://github.com/andygrove/datafusion

[193] Apache Arrow: https://arrow.apache.org

[194] cargo-expand v0.4: https://github.com/dtolnay/cargo-expand

[195] обсуждение: https://www.reddit.com/r/rust/comments/afyx71/cargo_expand_04_now_supports_expanding_individual

[196] fluent-rs v0.5: https://github.com/projectfluent/fluent-rs

[197] обсуждение: https://www.reddit.com/r/rust/comments/am4rav/fluentrs_05_released

[198] Fluent: https://projectfluent.org

[199] Tokei v9.0: https://github.com/Aaronepower/tokei/blob/master/CHANGELOG.md

[200] обсуждение: https://www.reddit.com/r/rust/comments/afnlt5/annoucing_tokei_900_added_config_files_and_now

[201] cargo-crev v0.4: https://github.com/dpc/crev/releases/tag/cargo-crev-v0.4.0

[202] обсуждение: https://www.reddit.com/r/rust/comments/afhb4e/cargocrev_v040_everything_is_easier_now

[203] Smithay v0.2: https://smithay.github.io/smithay-v-0-2.html

[204] код: https://github.com/Smithay/smithay

[205] обсуждение: https://www.reddit.com/r/rust/comments/ac4lud/version_02_of_smithay

[206] Wayland: https://en.m.wikipedia.org/wiki/Wayland_(display_server_protocol)

[207] Anvil: https://github.com/Smithay/smithay/tree/d6625b4b4/anvil

[208] oxide-auth v0.4: https://github.com/HeroicKatora/oxide-auth/releases/tag/v0.4.0

[209] обсуждение: https://www.reddit.com/r/rust/comments/ahzgep/support_for_server_side_actix_rocket_rouille

[210] ослабил гайки: https://habr.com/ru/company/tm/blog/437072

[211] forum.rustycrate.ru: https://forum.rustycrate.ru

[212] gitter.im/ruRust: https://gitter.im/ruRust

[213] t.me/rustlang_ru: https://t.me/rustlang_ru

[214] отсюда: https://pixabay.com/ru/%D1%80%D0%B6%D0%B0%D0%B2%D1%8B%D0%B5-%D1%88%D0%B5%D1%81%D1%82%D0%B5%D1%80%D0%BD%D1%8F-%D1%88%D0%B5%D1%81%D1%82%D0%B5%D1%80%D0%BD%D0%B8-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B-2069425

[215] Источник: https://habr.com/ru/post/439354/?utm_campaign=439354