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

Rust новости #3 (ноябрь 2018)

КДПВ про Rust2018

Предлагаю вашему вниманию субъективную подборку ржавых новостей за ноябрь. В этой подборке: Rust 2018, RustRush, видео с конференций, Amazon Lambda и Firecracker, квизы, переход exonum на actix-web, 10 причин использовать Rust.

Результаты Rust опроса 2018 [1]

график из опроса про сложность изучения тем

Опубликованы результаты ежегодного Rust-опроса [1] (обсуждение [2]), который шел с августа [3].

Там довольно много всякой интересной информации, особенно, если рассматривать в динамике по сравнению с прошлыми годами, но отдельно радует рост количества профессионально использующих язык: если в прошлом году 21% опрошенных использовали Rust на работе, то в этом году — уже 30%.

Rust 2018

Уже на днях будет выпущен Rust 1.31 — первая стабильная версия с поддержкой новой редакции языка: Rust 2018. (что за "редакции"? [4])

К выходу новой редакции языка приурочили редизайн официальной страницы языка — beta.rust-lang.org [5] — который вызвал поляризованные отзывы о формулировках и шрифтах-цветах (например: 1 [6], 2 [7]);

Firecracker от AWS (Amazon Web Services)

лого firecracker

"В AWS представили Firecracker — «микровиртуализацию» для Linux" [8]:

На AWS re:Invent 2018 [9], что проходит в эти дни в Лас-Вегасе, состоялся анонс Firecracker [10] — новой технологии виртуализации с открытым кодом, основанной на Linux KVM. Авторы обещают, что с ней «в доли секунды можно запускать легковесные микровиртуальные машины (microVMs) в невиртуализированной среде, получив преимущества и традиционных ВМ — в виде безопасности и изоляции рабочих нагрузок, и контейнеров — в виде эффективного использования ресурсов».

Основу проекту положила Open Source-разработка от Google — crosvm из Chromium OS, что написана на Rust и отвечает за запуск операционных систем с виртуализацией устройств (но без эмуляции реального аппаратного обеспечения). Посему код Firecracker тоже написан на языке Rust, и его авторы обещают возвращать свои исправления в кодовую базу родительского проекта, хотя сами проекты со временем сильно разошлись в своём предназначении.

Так же:

Видео докладов с RustFest 2018 Rome [13]

лого римского растфеста

Видео докладов с Rust Belt Rust 2018 [25]

лого растбелта

Все с растфеста посмотрели? Тогда вот еще добавка с Rust Belt Rust 2018 [26]:

Весь плейлист [25].

И закину сюда же до кучи двухчасовую запись Rust Bay Area Meetup [42].

RustRush 2018 [43]: конференция 15-16 декабря в Москве

лого конфы

RustRush 2018 — конференция для разработчиков на Rust, посвящённая вебу, блокчейну, высокой производительности и системному программированию.

Осталось меньше двух недель! CfP закончен, выложена окончательная программа докладов [44].

cheats.rs [45]

логотип

cheats.rs [45] (репозиторий [46], обсуждение [47]) — памятка по Rust + подборка ссылок на другие подобные памятки. Может дико пригодиться при погружении в язык.

Сайт, кстати, сделан с использованием Zola [48] (см. ниже в секции новых и обновленных пакетов).

Как мы переводили Exonum с Iron на actix-web [49]

лого старшего актикса

Статья о практическом опыте работы с относительно хитрым обобщенным кодом от Gorthauer87 [50]. Код кишок местами сложновато устроен, зато итоговый результат для пользователя удобен и красив.

10 неочевидных преимуществ использования Rust [51]

freecoder_xx [52] написал обзорную статью о менее продвигаемых достоинствах Rust.

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

Rust Quiz [53]

Из доклада Алекса [54] вырос сайт со средне и очень сложными вопросами по крайним случаям и "бородавкам" Ржавчины (обсуждение [55]). По нажатию кнопки "reveal" ("сдаюсь") показывается развернутое объяснение что за чертовщина происходит в примере кода.

Исходный код всего этого дела живет тут [56]. Туда можно делать PRы, если вы знаете еще клевые вопросы подобного формата.

Embedded [57]

клеймление микроконтроллера растом

WebAssembly [74]

Феррис в WA-каске

Игрострой

Экосистема движка Аметист [124]:

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

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

Некоторые свежие пакеты за месяц или существенные обновления старых:

  • tr [172] (обсуждение [173]) — макросы для локализации приложений, вдохновленные 'tr' из Qt [174];
  • cargo nono [175] (обсуждение [176]) — расширение cargo, которое по внешним эвристикам пытается найти зависимости, портящие ломающие no_std;
  • immense [177] (обсуждение [178]) — пакет для генерации трехмерных сеток;
  • Logos [179] (обсуждение [180]) — позволяет писать "невероятно быстрые" лексические анализаторы;
  • fluid [181] (обсуждение [182]) — фреймворк для написания тестов, вдохновленный XUnit [183];
  • guerrilla [184] (обсуждение [185]) — эксперимент по реализации "monkey patching" для Rust (кстати, про название пакета: я никогда не задумывался над этимологией термина "monkey patch" [186]);
  • serde_postgres [187] — простой способ десериализовать строки из postgres в произвольные структуры (обратная сериализация не поддерживается);
  • pgxr [188] — позволяет писать ржавые функции расширения для PostgreSQL;
  • MutGuard [189] (обсуждение [190]) — позволяет запускать произвольный код при каждом взятии изменяющей ссылки на хранимые данные (например, для проверки инвариантов);
  • Zola 0.5 [191] (обсуждение [192]) — генератор статических сайтов Gutenberg сменил название на Zola и обзавелся подгрузкой данных из CSV/TOML/JSON, шаблонами страниц, "прозрачными секциями" [193];
  • rand 0.6 [194] (обсуждение [195]) — библиотека для генерации случайных чисел, помимо теперь обзавелась своей собственной книгой [196];
  • lifeguard 0.6 [197] (обсуждение [198]) — позволяет создавать пулы переиспользуемых объектов; Новая версия улучшает производительность, разрешает создавать рекурсивные указатели и добавляет служебные типажи для удобства;
  • Pijul 0.11 [199] (обсуждение [200], код [201]) — система контроля версий, основанная на теории патчей [202], переехала на новый Tokio [203], обзавелась неполным клонированием, получила поддержку SSH прокси и конфигурационных файлов;

RFC

По RFC (Request for Comments) довольно удобно наблюдать, в какую сторону движется язык, так что вот некоторые интересные. В заголовке PRов есть ссылка "Rendered", по которой RFC доступен в удобочитаемой форме.

В этом месяце были приняты:

  • RFC #2561 Future possibilities [204] — в новых RFC появится секция с перспективами развития предложенной идеи (мета-RFC);
  • RFC #2591 Stabilise exhaustive integer pattern matching [205] — стабилизация исчерпывающих числовых сопоставлений, т.е., например, если в сопоставлении u8 переменной перечислены все 255 значений, то _ ветка будет не нужна;

RFC в рассмотрении:

Pre-RFC:

  • Pre-RFC for Anonymous Variant Types, a minimal anonymous sum type proposal [214] — предлагает добавить задницы (_|_) анонимные перечисления с типами вроде (NoneError|ParseIntError);
  • Pre-RFC: sum-enums [215] — предлагает ввести новый вид перечислений с синтаксисом enum(A, B, C, ..) и enum Foo(A, B, C, ..);
  • Rust traits and their (lack of) privacy [216] — phaazon предлагает добавить типажам возможность иметь приватные методы (тут я как-то прямо очень скептичен);

Был отклонен RFC #2328 officially adopting Ferris [217] — решили, что Ферриса [218] нет особого смысла делать официальным талисманом;


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

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

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

Автор: ozkriff

Источник [219]


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

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

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

[1] Результаты Rust опроса 2018: https://blog.rust-lang.org/2018/11/27/Rust-survey-2018.html

[2] обсуждение: https://www.reddit.com/r/rust/comments/a0wuac/rust_survey_2018_results

[3] с августа: https://blog.rust-lang.org/2018/08/08/survey.html

[4] что за "редакции"?: https://rust-lang-nursery.github.io/edition-guide/editions/index.html

[5] beta.rust-lang.org: http://beta.rust-lang.org

[6] 1: https://www.reddit.com/r/rust/comments/a1jjuf/a_new_look_for_rustlangorg

[7] 2: https://users.rust-lang.org/t/the-beta-rust-lang-org-pr-debacle/22778

[8] "В AWS представили Firecracker — «микровиртуализацию» для Linux": https://habr.com/company/flant/blog/431192

[9] AWS re:Invent 2018: https://reinvent.awsevents.com

[10] Firecracker: https://github.com/firecracker-microvm/firecracker

[11] /r/rust: "AWS firecracker microvm is all rust": https://www.reddit.com/r/rust/comments/a0rph0/aws_firecracker_microvm_is_all_rust

[12] /r/rust: "Rust support has been added to AWS Lambda": https://www.reddit.com/r/rust/comments/a1jkof/rust_support_has_been_added_to_aws_lambda

[13] Видео докладов с RustFest 2018 Rome: https://media.ccc.de/c/rustfest18rome

[14] "Declarative programming in Rust": https://media.ccc.de/v/rustfest-rome-5-declarative-programming-in-rust

[15] "Sequoia: A New OpenPGP Implementation in Rust": https://media.ccc.de/v/rustfest-rome-6-sequoia

[16] "Oh Boy! Creating a Game Boy Emulator in Rust": https://media.ccc.de/v/rustfest-rome-3-gameboy-emulator

[17] "One Thousand Ways to Die in Rust FFI": https://media.ccc.de/v/rustfest-rome-9-one-thousand-ways-to-die-in-rust-ffi

[18] "Rust, For Science!": https://media.ccc.de/v/rustfest-rome-4-rust-for-science

[19] "Behind The Scenes Of Producing An Executable": https://media.ccc.de/v/rustfest-rome-8-behind-the-scenes-of-producing-an-executable

[20] "Simple CRDT in Rust": https://media.ccc.de/v/rustfest-rome-10-simple-crdt-in-rust

[21] "Grappling with growth, and other good problems to have": https://media.ccc.de/v/rustfest-rome-1-keynote

[22] "Caging the SpiderMonkey — Ensuring safe JS bindings in Servo": https://media.ccc.de/v/rustfest-rome-2-caging-the-spidermonkey

[23] "Fun with Rusty Robots": https://media.ccc.de/v/rustfest-rome-7-fun-with-rusty-robots

[24] "Increasing Rust's Reach Project Highlight": https://media.ccc.de/v/rustfest-rome-11-project-highlight

[25] Видео докладов с Rust Belt Rust 2018: https://www.youtube.com/playlist?list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW

[26] Rust Belt Rust 2018: https://www.rust-belt-rust.com

[27] "Core Team Talk" — Ashley Williams and Niko Matsakis: https://www.youtube.com/watch?v=C4jQbc1RJPY&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=2

[28] "Monotron — a 1980s style home computer written in Rust" — Jonathan Pallant: https://www.youtube.com/watch?v=xBRFtlT5Pfs&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=3

[29] "Syntax conveniences afforded by the compiler" — Tshepang Lekhonkhobe: https://www.youtube.com/watch?v=Xk5IZOtLUmE&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=4

[30] "Actix and Actors in Rust" — Nathan Hawkins: https://www.youtube.com/watch?v=W-hvnVeRJzs&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=5

[31] "Lightning Talks: Rust Quiz" — Alex Crichton and David Tolnay: https://www.youtube.com/watch?v=QtDj9R6vtA8&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=6

[32] "Lightning Talks: Rustbots" — Robots powered by Rust — Rahul Thakoor: https://www.youtube.com/watch?v=HoD-PrkaGUU&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=7

[33] "Lightning Talks: Personal Wiki" — James Sacksteder: https://www.youtube.com/watch?v=3i3gdxD_opM&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=8

[34] "Lightning Talks: Rust's Family Tree" — Jenny Manning: https://www.youtube.com/watch?v=u3vZia0NB1I&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=9

[35] "Lightning Talks: Announcing the Ann Arbor Meetup" — Esty Thomas: https://www.youtube.com/watch?v=qtxvwermthE&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=10

[36] "Lightning Talks: Rust In Space" — myrrlyn: https://www.youtube.com/watch?v=xYDKcoS26ZM&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=11

[37] "Percy: Isomorphic Web Apps with Rust + WebAssembly" — Chinedu Francis Nwafili: https://www.youtube.com/watch?v=M6RLvGqQU10&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=12

[38] "Evolving API design in Rust" — Simon Nicholas Heath: https://www.youtube.com/watch?v=Xt1JOVeQ5hw&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=13

[39] "Maintaining the Rust Community" — Arshia Mufti: https://www.youtube.com/watch?v=1YR3TbrC3r4&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=14

[40] "Move fast and don't break things: High-performance networking in Rust" — Joshua Liebow-Feeser: https://www.youtube.com/watch?v=UfMOOxOGCmA&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=15

[41] "State of the crates.io" — Sean Griffin: https://www.youtube.com/watch?v=QjQPNZPSlqA&t=0s&list=PLgC1L0fKd7UlpVTHVfLYVtudVx8CzbSxW&index=16

[42] запись Rust Bay Area Meetup: https://www.youtube.com/watch?v=-F7whGjquHI

[43] RustRush 2018: https://rustrush.ru

[44] окончательная программа докладов: https://rustrush.ru/program

[45] cheats.rs: https://cheats.rs

[46] репозиторий: https://github.com/ralfbiedert/cheats.rs

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

[48] Zola: https://www.getzola.org

[49] Как мы переводили Exonum с Iron на actix-web: https://habr.com/company/bitfury/blog/429450

[50] Gorthauer87: https://habr.com/users/gorthauer87/

[51] 10 неочевидных преимуществ использования Rust: https://habr.com/post/430294

[52] freecoder_xx: https://habr.com/users/freecoder_xx/

[53] Rust Quiz: https://dtolnay.github.io/rust-quiz

[54] доклада Алекса: https://www.youtube.com/watch?v=QtDj9R6vtA8

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

[56] тут: https://github.com/dtolnay/rust-quiz

[57] Embedded: https://github.com/rust-embedded/wg

[58] OxidizeConf: https://ferrous-systems.com/blog/oxidize-the-embedded-rust-conference

[59] обсуждение: https://www.reddit.com/r/rust/comments/a0ujpc/oxidizeconf_a_conference_about_embedded_systems

[60] "This Year in Embedded Rust": https://rust-embedded.github.io/blog/2018-11-14-this-year-in-embedded-rust

[61] инструментария: https://github.com/rust-embedded/cargo-binutils

[62] готовых шаблонов проектов: https://github.com/rust-embedded/cortex-m-quickstart

[63] The Embedded Rust book: https://docs.rust-embedded.org/book

[64] The Discovery book: https://docs.rust-embedded.org/discovery

[65] The Embedonomicon: https://docs.rust-embedded.org/embedonomicon

[66] Awesome Embedded Rust: https://github.com/rust-embedded/awesome-embedded-rust

[67] Bootstrapping My Embedded Rust Development Environment: https://josh.robsonchase.com/embedded-bootstrapping

[68] обсуждение: https://www.reddit.com/r/rust/comments/a0fl57/bootstrapping_my_embedded_rust_development

[69] embedded-sdmmc-rs: https://github.com/thejpster/embedded-sdmmc-rs

[70] обсуждение: https://www.reddit.com/r/rust/comments/a07k6e/wip_a_no_std_rust_crate_for_reading_sdmmc_cards

[71] no_std: https://doc.rust-lang.org/unstable-book/language-features/lang-items.html#writing-an-executable-without-stdlib

[72] drone: https://github.com/martindeegan/drone

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

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

[75] "Programming WebAssembly with Rust": https://pragprog.com/book/khrust/programming-webassembly-with-rust

[76] обсуждение: https://www.reddit.com/r/rust/comments/a16u31/programming_webassembly_with_rust_book_is_in_beta

[77] typed-html: https://github.com/bodil/typed-html

[78] обсуждение: https://www.reddit.com/r/rust/comments/9ydtvx/typedhtml_type_checked_jsx_for_rust

[79] JSX: https://reactjs.org/docs/introducing-jsx.html

[80] отлично работает и в WASM'е!: https://twitter.com/bodil/status/1062123547542388742

[81] HOWTO: Setting up WebAssembly on stable rust without rustup: https://www.reddit.com/r/rust/comments/9t95fd/howto_setting_up_webassembly_on_stable_rust

[82] Terrarium: https://wasm.fastlylabs.com

[83] обсуждение: https://www.reddit.com/r/rust/comments/9yvg45/terrarium_fastly_labs

[84] Fastly: https://www.fastly.com

[85] php-ext-wasm: https://github.com/Hywan/php-ext-wasm

[86] обсуждение: https://www.reddit.com/r/rust/comments/9y7wl6/run_wasm_in_php_natively_php_extension_written_in

[87] paritytech/wasmi: https://github.com/paritytech/wasmi

[88] Wasmer: https://wasmer.io

[89] обсуждение: https://www.reddit.com/r/rust/comments/9z741o/wasmer_highperformance_jitting_webassembly

[90] код: https://github.com/wasmerio/wasmer

[91] Cranelift: https://github.com/CraneStation/cranelift

[92] Bringing Elm's architecture to Rust and Webassembly: https://sindrejohansen.no/blog/willow/rust/elm/2018/11/16/willow-elm-in-rust.html

[93] обсуждение: https://www.reddit.com/r/rust/comments/9xovoq/bringing_elms_architecture_to_rust_and_webassembly

[94] willow: https://github.com/sindreij/willow

[95] "архитектуры Elm": https://guide.elm-lang.org/architecture

[96] twitter.com/rust_gamedev: https://twitter.com/rust_gamedev

[97] rustwasm: https://twitter.com/rustwasm

[98] rustembedded: https://twitter.com/rustembedded

[99] Embark: https://www.embark-studios.com

[100] заявила о намерении использовать Rust как основной язык: https://twitter.com/repi/status/1060469377500274689

[101] обсуждение: https://www.reddit.com/r/rust/comments/9viryw/embark_a_newly_found_game_studio_will_build_their

[102] Видео "Modulator crate and Play app (Rust coding series)": https://www.youtube.com/watch?v=n-txrCMvdms

[103] обсуждение: https://www.reddit.com/r/rust/comments/9zem4v/modulator_andrea_pessino_on_twitter

[104] Modulator: https://github.com/apessino/modulator

[105] Rusted Ruins: https://github.com/garkimasera/rusted-ruins

[106] обсуждение: https://www.reddit.com/r/rust/comments/9vrikb/extensible_open_world_rouge_like_game_written_in

[107] рогалик: https://ru.wikipedia.org/wiki/Roguelike

[108] Alexandru Ene: Rust And Game Development: https://alexene.github.io/2018/11/15/Rust-and-game-development.html

[109] обсуждение: https://www.reddit.com/r/rust/comments/9xctdd/rust_and_game_development_post_by_alexene

[110] Vulkano 0.11 released: https://www.patreon.com/posts/22587417

[111] обсуждение: https://www.reddit.com/r/rust/comments/9v7uh8/vulkano_011_released

[112] grr: https://github.com/msiglreith/grr

[113] обсуждение: https://www.reddit.com/r/rust_gamedev/comments/a0a5u0/grr_030_release_a_modern_opengl_45_wrapper

[114] glium: https://github.com/glium/glium

[115] PBR примером: https://github.com/msiglreith/grr/tree/b5f09a86b/examples/pbr

[116] картинка: https://raw.githubusercontent.com/msiglreith/grr/master/info/examples/pbr.png

[117] glsl-0.13 and its visitor pattern: https://phaazon.net/blog/glsl-0.13-visitor

[118] /r/rust: "Rust in AAA game engine": https://www.reddit.com/r/rust/comments/9zuk09/rust_in_aaa_game_engine

[119] This month in rustsim #2 (November 2018): https://www.rustsim.org/blog/2018/12/01/this-month-in-rustsim

[120] улучшены деформируемые объекты: https://www.youtube.com/watch?v=Qd1sxFG-2p0

[121] nalgebra: https://nalgebra.org

[122] ncollide: https://ncollide.org

[123] "space": https://github.com/vadixidav/space

[124] Аметист: https://www.amethyst.rs/blog

[125] Основан Фонд Аметиста — Amethyst Foundation: https://www.amethyst.rs/blog/non-profit-announce

[126] обсуждение: https://www.reddit.com/r/rust/comments/a01hcn/amethyst_foundation_has_been_formed

[127] F.A.Q.: https://community.amethyst-engine.org/t/amethyst-foundation-faq/108

[128] отдельный форум аметиста: https://community.amethyst-engine.org

[129] вики-тема со списком игр на движке: https://community.amethyst-engine.org/t/games-made-with-amethyst/134

[130] Сменился логотип: https://github.com/amethyst/amethyst/blob/77969cf6d/book/src/images/amethyst_emblem.png

[131] Laminar 0.1: https://github.com/amethyst/laminar

[132] обсуждение: https://www.reddit.com/r/rust_gamedev/comments/9wlbbm/amethyst_laminar_networking_crate_010_released

[133] список возможностей: https://github.com/amethyst/laminar#features

[134] интегрирован: https://github.com/amethyst/amethyst/pull/1137

[135] Видео "Everpuzzle — using the Amethyst Engine with Rust for Games": https://www.youtube.com/watch?v=P_9A7P0uNpY

[136] Everpuzzle: https://github.com/Skytrias/everpuzzle

[137] Where The Fun Begins: https://azriel.im/will/2018/11/23/where-the-fun-begins

[138] LemRunner: https://cs2dsb.itch.io/lemrunner

[139] обсуждение: https://www.reddit.com/r/rust_gamedev/comments/a1jp6x/my_github_game_jam_2018_entry_developed_in

[140] код: https://github.com/cs2dsb/github-game-jam-2018

[141] Game Off 2018: https://itch.io/jam/game-off-2018

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

[143] #86: https://intellij-rust.github.io/2018/11/07/changelog-86.html

[144] #87: https://intellij-rust.github.io/2018/11/26/changelog-87.html

[145] GIF: https://intellij-rust.github.io/assets/posts/changelog-86/nest-use-statements.gif

[146] GIF: https://intellij-rust.github.io/assets/posts/changelog-87/custom-folding-regions.gif

[147] С марта 2019 для публикации чего-то на crates.io будет требоваться подтвержденный почтовый адрес: https://users.rust-lang.org/t/a-verified-email-address-will-be-required-to-publish-to-crates-io-starting-on-2019-02-28/22425

[148] обсуждение: https://www.reddit.com/r/rust/comments/9yjsmr/a_verified_email_address_will_be_required_to

[149] Доля Rust-кода в Firefox постепенно растет: https://twitter.com/eroc/status/1061049330574884864

[150] обсуждение: https://www.reddit.com/r/rust/comments/9vsbhi/rust_in_firefox_usage_numbers

[151] How to speed up the Rust compiler in 2018: NLL edition: https://blog.mozilla.org/nnethercote/2018/11/06/how-to-speed-up-the-rust-compiler-in-2018-nll-edition

[152] обсуждение: https://www.reddit.com/r/rust/comments/9uj7hu/how_to_speed_up_the_rust_compiler_in_2018_nll

[153] Getting started with nightly async/await support: https://jsdw.me/posts/rust-asyncawait-preview

[154] обсуждение: https://www.reddit.com/r/rust/comments/a0jvo4/getting_started_with_nightly_asyncawait_support

[155] How Rust helps keep Kentik's performance on high: https://www.kentik.com/blog/under-the-hood-how-rust-helps-keep-kentik

[156] Kentik: https://www.kentik.com

[157] A hammer you can only hold by the handle: https://blog.systems.ethz.ch/blog/2018/a-hammer-you-can-only-hold-by-the-handle.html

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

[159] Build Your Own Shell using Rust: https://www.joshmcguigan.com/blog/build-your-own-shell-rust

[160] обсуждение: https://www.reddit.com/r/rust/comments/9xwkh5/build_your_own_shell_using_rust

[161] Things Rust doesn’t let you do: https://medium.com/@GolDDranks/things-rust-doesnt-let-you-do-draft-f596a3c740a5

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

[163] After NLL: Moving from borrowed data and the sentinel pattern: http://smallcultfollowing.com/babysteps/blog/2018/11/10/after-nll-moving-from-borrowed-data-and-the-sentinel-pattern

[164] обсуждение: https://www.reddit.com/r/rust/comments/9vxxgg/after_nll_moving_from_borrowed_data_and_the

[165] Stacked Borrows Implemented: An Aliasing Model for Rust: https://www.ralfj.de/blog/2018/11/16/stacked-borrows-implementation.html

[166] обсуждение: https://www.reddit.com/r/rust/comments/9xnxw6/stacked_borrows_implemented_an_aliasing_model_for

[167] Implementing Rust’s std::sync::Mutex in D: https://atilanevesoncode.wordpress.com/2018/11/06/implementing-rusts-stdsyncmutex-in-d

[168] обсуждение: https://www.reddit.com/r/rust/comments/9urp6k/implementing_rusts_stdsyncmutex_in_d

[169] /r/rust: What are the main challenges when switching to Rust?: https://www.reddit.com/r/rust/comments/9zs6ra/what_are_the_main_challenges_when_switching_to

[170] /r/rust: "When should a library panic vs. return 'Result'?": https://www.reddit.com/r/rust/comments/9x17hn/when_should_a_library_panic_vs_return_result

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

[172] tr: https://github.com/woboq/tr

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

[174] 'tr' из Qt: https://wiki.qt.io/QtInternationalization#What_is_tr.28.29.3F

[175] cargo nono: https://github.com/hobofan/cargo-nono

[176] обсуждение: https://www.reddit.com/r/rust/comments/9wbv0v/cargo_nono_detect_possible_no_std_compatibility

[177] immense: https://crates.io/crates/immense

[178] обсуждение: https://www.reddit.com/r/rust/comments/9y1efh/generate_3d_meshes_in_rust

[179] Logos: https://github.com/maciejhirsz/logos

[180] обсуждение: https://www.reddit.com/r/rust/comments/9z87z7/logos_create_ridiculously_fast_lexers

[181] fluid: https://gitlab.com/Boiethios/fluid-rs/wikis/home

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

[183] XUnit: https://xunit.github.io

[184] guerrilla: https://crates.io/crates/guerrilla

[185] обсуждение: https://www.reddit.com/r/rust/comments/9vngqn/guerrilla_patching_in_rust_for_unsafe_fun_and

[186] этимологией термина "monkey patch": https://en.wikipedia.org/wiki/Monkey_patch#Etymology

[187] serde_postgres: https://github.com/1aim/serde_postgres

[188] pgxr: https://github.com/clia/pgxr

[189] MutGuard: https://github.com/geal/mutguard

[190] обсуждение: https://www.reddit.com/r/rust/comments/9wcujb/mutguard_run_code_every_time_data_is_mutably

[191] Zola 0.5: https://www.vincentprouillet.com/blog/releasing-zola-0-5-0

[192] обсуждение: https://www.reddit.com/r/rust/comments/9xyoq3/gutenberg_is_out_zola_050_is_in

[193] "прозрачными секциями": https://github.com/getzola/zola/issues/408

[194] rand 0.6: https://crates.io/crates/rand/0.6.0

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

[196] своей собственной книгой: https://rust-random.github.io/book

[197] lifeguard 0.6: https://github.com/zslayton/lifeguard

[198] обсуждение: https://www.reddit.com/r/rust/comments/9wvtoj/lifeguard_v060_an_object_pool_manager_in_rust

[199] Pijul 0.11: https://pijul.org/posts/2018-11-20-pijul-0.11

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

[201] код: https://nest.pijul.com/pijul_org/pijul

[202] основанная на теории патчей: https://jneem.github.io/pijul

[203] Tokio: https://tokio.rs

[204] RFC #2561 Future possibilities: https://github.com/rust-lang/rfcs/pull/2561

[205] RFC #2591 Stabilise exhaustive integer pattern matching: https://github.com/rust-lang/rfcs/pull/2591

[206] RFC #2592 Stabilize 'std::task' and 'std::future::Future': https://github.com/rust-lang/rfcs/pull/2592

[207] async/await: https://github.com/rust-lang/rfcs/pull/2394

[208] RFC #2593 Enum variant types: https://github.com/rust-lang/rfcs/pull/2593

[209] RFC #2584 Structural Records: https://github.com/rust-lang/rfcs/pull/2584

[210] RFC #2602 #[attribute]s galore: https://github.com/rust-lang/rfcs/pull/2602

[211] RFC #2603 Symbol Mangling v2: https://github.com/rust-lang/rfcs/pull/2603

[212] схему декорирования символов: https://en.wikipedia.org/wiki/Name_mangling

[213] RFC #2500 Needle API: https://github.com/rust-lang/rfcs/pull/2500

[214] Pre-RFC for Anonymous Variant Types, a minimal anonymous sum type proposal: https://www.reddit.com/r/rust/comments/9tk7jw/prerfc_for_anonymous_variant_types_a_minimal

[215] Pre-RFC: sum-enums: https://internals.rust-lang.org/t/pre-rfc-sum-enums/8782

[216] Rust traits and their (lack of) privacy: https://phaazon.net/blog/rust-traits-privacy

[217] RFC #2328 officially adopting Ferris: https://github.com/rust-lang/rfcs/pull/2328

[218] Ферриса: http://www.rustacean.net

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