|
| 1 | +Title: This Week in Rust 349 |
| 2 | +Number: 349 |
| 3 | +Date: 2020-07-28 |
| 4 | +Category: This Week in Rust |
| 5 | + |
| 6 | +Hello and welcome to another issue of *This Week in Rust*! |
| 7 | +[Rust](http://rust-lang.org) is a systems language pursuing the trifecta: safety, concurrency, and speed. |
| 8 | +This is a weekly summary of its progress and community. |
| 9 | +Want something mentioned? Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) or [send us a pull request](https://github.com/cmr/this-week-in-rust). |
| 10 | +Want to get involved? [We love contributions](https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md). |
| 11 | + |
| 12 | +*This Week in Rust* is openly developed [on GitHub](https://github.com/cmr/this-week-in-rust). |
| 13 | +If you find any errors in this week's issue, [please submit a PR](https://github.com/cmr/this-week-in-rust/pulls). |
| 14 | + |
| 15 | +Check out [this week's *This Week in Rust Podcast*](https://rustacean-station.org/episode/024-twir-349/) |
| 16 | + |
| 17 | +# Updates from Rust Community |
| 18 | + |
| 19 | +### Official |
| 20 | + |
| 21 | +* [Opening up the Core Team agenda](https://blog.rust-lang.org/inside-rust/2020/07/27/opening-up-the-core-team-agenda.html) |
| 22 | +* [Rust's CI is Moving to GitHub Actions](https://blog.rust-lang.org/inside-rust/2020/07/23/rust-ci-is-moving-to-github-actions.html) |
| 23 | + |
| 24 | +### Tooling |
| 25 | + |
| 26 | +* [IntelliJ Rust Changelog #127](https://intellij-rust.github.io/2020/07/27/changelog-127.html) |
| 27 | +* [Rust Analyzer Changelog #35](https://rust-analyzer.github.io/thisweek/2020/07/27/changelog-35.html) |
| 28 | + |
| 29 | +### Observations/Thoughts |
| 30 | + |
| 31 | +* [An Inside Look at the Rust Programming Language](https://about.gitlab.com/blog/2020/07/21/rust-programming-language/) |
| 32 | +* [Notes on A Smaller Rust](https://without.boats/blog/notes-on-a-smaller-rust/) |
| 33 | +* [Rust at FP Complete, 2020 Update](https://www.fpcomplete.com/insights/rust-at-fpco-2020/) |
| 34 | +* [Why the Rust Module System Might Be Hard to Understand](https://dev.to/dotxlem/why-the-rust-module-system-might-be-hard-to-understand-2l) |
| 35 | +* [Giving Rust Another Shot in 2020](https://sharpend.io/giving-rust-another-shot-in-2020/) |
| 36 | + |
| 37 | +### Learn |
| 38 | + |
| 39 | +* [Rust Explained using Easy English](https://github.com/Dhghomon/easy_rust) |
| 40 | +* [(A Few) Advanced Variable Types in Rust](https://rust.graystorm.com/2020/07/20/a-few-advanced-variable-types-in-rust/) |
| 41 | +* [Tutorial for Tokio and async Rust](https://tokio.rs/tokio/tutorial) |
| 42 | +* [An introduction to Data-Oriented Design in Rust](http://jamesmcm.github.io/blog/2020/07/25/intro-dod/#en) |
| 43 | +* [Learning Rust by Converting Python to Rust](https://towardsdatascience.com/learning-rust-by-converting-python-to-rust-259e735591c6) |
| 44 | +* [Writing a file system from scratch in Rust](https://blog.carlosgaldino.com/writing-a-file-system-from-scratch-in-rust.html) |
| 45 | +* [Memory safety in Rust - part 1](https://hashrust.com/blog/memory-safey-in-rust-part-1/) |
| 46 | +* [Analyzing terabytes of GitHub Archive data with Rusoto and Serde](https://matthewkmayer.github.io/blag/public/post/rusty-von-humboldt/) |
| 47 | +* [Sizedness in Rust](https://github.com/pretzelhammer/rust-blog/blob/master/posts/sizedness-in-rust.md) |
| 48 | +* [This July in my Database project written in Rust](https://alex-dukhno.github.io/2020-07-26-This-July-in-my-Database-project-written-in-rust/) |
| 49 | +* [Cell, RefCell, and Interior Mutability in Rust](https://badboi.dev/rust/2020/07/17/cell-refcell.html) |
| 50 | +* [CLI Autocompletion Algorithm in Rust](https://dev.to/yujiri8/cli-autocompletion-algorithm-in-rust-47jl) |
| 51 | +* [Compressing Authority](https://dev.to/johndriscoll/compressing-authority-1kph) |
| 52 | +* [From C# to Rust: Code Basics](https://dev.to/sebnilsson/from-c-to-rust-code-basics-40cj) |
| 53 | +* [Hello World with Rust and WebAssembly](https://blog.nodraak.fr/2020/07/rust-wasm-2-hello-world/) |
| 54 | +* [Interactive Chord Diagrams (Data Analysis with Rust)](https://shahinrostami.com/posts/programming/rust-notebooks/chord-diagrams/) |
| 55 | +* [Some (Number) of Ways to Calculate a Fibonacci Number in Rust](https://dev.to/jculverhouse/some-number-of-ways-to-calculate-a-fibonacci-number-in-rust-d78) |
| 56 | +* [Writing A Simple Query System in Rust](https://pnevyk.github.io/posts/query-system-in-rust/) |
| 57 | +* [JSONB Data with Rust and Diesel](https://vasilakisfil.social/blog/2020/05/09/rust-diesel-jsonb/) |
| 58 | +* [Enum or Trait Object](https://www.possiblerust.com/guide/enum-or-trait-object) |
| 59 | +* [Parallel Stream Processing with Rayon](https://morestina.net/blog/1432/parallel-stream-processing-with-rayon) |
| 60 | +* [Compile Time CUDA Device Checking in Rust](https://m-decoster.github.io/2020/07/24/compile-time-cuda/) |
| 61 | +* [Async/Await for AVR with Rust](https://lights0123.com/blog/2020/07/25/async-await-for-avr-with-rust/) |
| 62 | +* [Making a Game in 48 hours with Rust and WebAssembly](https://ianjk.com/rust-gamejam/) |
| 63 | +* [PT] [Aprendendo Rust: 04 - Comentários, documentação e tipos de variáveis primitivas](https://dev.to/pehdepano/aprendendo-rust-04-comentarios-documentacao-e-tipos-de-variaveis-primitivas-1jb6) |
| 64 | +* [UK] [Пошук в глибину на прикладі задачі Ханойської вежі](https://dev.to/yaroslavpodorvanov/-3n3b) |
| 65 | +* [video] [Utility AI (with Rust example) - How-To](https://www.youtube.com/watch?v=M0Sx_M61ILU&feature=youtu.be) |
| 66 | +* [video] [Writing A Guide to Slice Data in Rust](https://www.twitch.tv/videos/691303613) |
| 67 | +* [video] [Learning Rust GameDev Patterns](https://www.twitch.tv/videos/691311447) |
| 68 | +* [video] [Run any web container for free on Google CloudRun (example in rust/warp)](https://www.youtube.com/watch?v=SMTVwISbQtE) |
| 69 | +* [video] [Technologieplauscherl: Memory Ownership in C# and Rust](https://www.youtube.com/watch?v=20GNFE0462w) |
| 70 | +* [video] [FLTK Rust Tutorial: Create a media player using the vlc crate](https://www.youtube.com/watch?time_continue=289&v=enxqU3bhCEs&feature=emb_logo) |
| 71 | +* [video] [Rust at Speed - Building A Fast Concurrent Database](https://youtu.be/s19G6n0UjsM) |
| 72 | +* [FR] [video] [Développement Web Rust & Rocket](https://www.youtube.com/playlist?list=PLMWEEzYqZ0ekOG6_G4q_GXPpVHWrIH--x) |
| 73 | +* [PT] [video] [Hoje sai o data tables em RUST](https://www.twitch.tv/videos/688423082) |
| 74 | + |
| 75 | +### Project Updates |
| 76 | + |
| 77 | +* [Ballista Distributed Compute: One Year Later](https://andygrove.io/2020/07/ballista-one-year-on/) |
| 78 | +* [Cross-compiling to Redox using Nix](https://www.redox-os.org/news/redox-plus-nix-0/) |
| 79 | +* [Public Announcement: You Can Now Debug Programs Using GDB on Redox OS](https://www.redox-os.org/news/public-announcement-gdb/) |
| 80 | +* [Rocket Can Now Compile on Stable Rust](https://www.reddit.com/r/rust/comments/hviz2q/rocket_can_now_compile_on_stable_rust/) |
| 81 | + |
| 82 | +### Miscellaneous |
| 83 | + |
| 84 | +* [ANSSI - Programming Rules to Develop Secure Applications with Rust](https://www.ssi.gouv.fr/uploads/2020/06/anssi-guide-programming_rules_to_develop_secure_applications_with_rust-v1.0.pdf) |
| 85 | +* [Rust is now a top 20 language in all of the 5 most major language popularity listings](https://www.reddit.com/r/rust/comments/hz7dfp/rust_is_now_a_top_20_language_in_all_of_the_5/) |
| 86 | +* [Under the Hood of Linkerd's State of the Art Rust Proxy, Linkerd2-proxy](https://linkerd.io/2020/07/23/under-the-hood-of-linkerds-state-of-the-art-rust-proxy-linkerd2-proxy/) |
| 87 | +* [Performance Comparison: Rust vs PyO3 vs Python](https://medium.com/the-innovation/performance-comparison-rust-vs-pyo3-vs-python-6480709be8d) |
| 88 | +* [Optimising Rust: Clockwise Triangles](https://wapl.es/rust/2020/07/25/optimising-with-cmp-and-ordering.html) |
| 89 | + |
| 90 | +# Crate of the Week |
| 91 | + |
| 92 | +This week's crate is [polyfuse](https://github.com/ubnt-intrepid/polyfuse), a library for writing FUSE file systems using async code. |
| 93 | + |
| 94 | +Thanks to [Ivan Kozik](https://users.rust-lang.org/t/crate-of-the-week/2704/795) for the suggestion! |
| 95 | + |
| 96 | +[Submit your suggestions and votes for next week][submit_crate]! |
| 97 | + |
| 98 | +[submit_crate]: https://users.rust-lang.org/t/crate-of-the-week/2704 |
| 99 | + |
| 100 | +# Call for Participation |
| 101 | + |
| 102 | +Always wanted to contribute to open-source projects but didn't know where to start? |
| 103 | +Every week we highlight some tasks from the Rust community for you to pick and get started! |
| 104 | + |
| 105 | +Some of these tasks may also have mentors available, visit the task page for more information. |
| 106 | + |
| 107 | +*No issues were proposed for CfP*. |
| 108 | + |
| 109 | +If you are a Rust project owner and are looking for contributors, please submit tasks [here][guidelines]. |
| 110 | + |
| 111 | +[guidelines]: https://users.rust-lang.org/t/twir-call-for-participation/4821 |
| 112 | + |
| 113 | +# Updates from Rust Core |
| 114 | + |
| 115 | +347 pull requests were [merged in the last week][merged] |
| 116 | + |
| 117 | +[merged]: https://github.com/search?q=is%3Apr+org%3Arust-lang+is%3Amerged+merged%3A2020-07-20..2020-07-27 |
| 118 | + |
| 119 | +* [AVR: correctly set the pointer address space when constructing pointers to functions](https://github.com/rust-lang/rust/pull/73270) |
| 120 | +* [detect turbofish missing surrounding angle brackets](https://github.com/rust-lang/rust/pull/74687) |
| 121 | +* [serialize span hygiene data](https://github.com/rust-lang/rust/pull/72121) |
| 122 | +* [proc_macro: add API for tracked access to environment variables](https://github.com/rust-lang/rust/pull/74653) |
| 123 | +* [correctly deal with unsorted generic parameters](https://github.com/rust-lang/rust/pull/74676) |
| 124 | +* [normalize bounds fully when checking defaulted types](https://github.com/rust-lang/rust/pull/74670) |
| 125 | +* [disallow non-static lifetimes in const generics](https://github.com/rust-lang/rust/pull/74051) |
| 126 | +* [forbid generic parameters in anon consts inside of type defaults](https://github.com/rust-lang/rust/pull/74487) |
| 127 | +* [add a system for creating diffs across multiple mir optimizations](https://github.com/rust-lang/rust/pull/74715) |
| 128 | +* [optimize away `BitAnd` and `BitOr` when possible](https://github.com/rust-lang/rust/pull/74491) |
| 129 | +* [make more primitive integer methods const](https://github.com/rust-lang/rust/pull/73858) |
| 130 | +* [impl Default for ranges](https://github.com/rust-lang/rust/pull/73197) |
| 131 | +* [remove needless unsafety from `BTreeMap::drain_filter`](https://github.com/rust-lang/rust/pull/74677) |
| 132 | +* [hashbrown: refactor probing logic into an external iterator](https://github.com/rust-lang/hashbrown/pull/181) |
| 133 | +* [rustlings: add ability to run rustlings on repl.it](https://github.com/rust-lang/rustlings/pull/471) |
| 134 | + |
| 135 | +## Rust Compiler Performance Triage |
| 136 | + |
| 137 | +* [2020-07-28](https://github.com/rust-lang/rustc-perf/blob/master/triage/2020-07-28.md). |
| 138 | + 2 regressions, 1 improvement, none in rollups. |
| 139 | + |
| 140 | +## Approved RFCs |
| 141 | + |
| 142 | +Changes to Rust follow the Rust [RFC (request for comments) process](https://github.com/rust-lang/rfcs#rust-rfcs). These |
| 143 | +are the RFCs that were approved for implementation this week: |
| 144 | + |
| 145 | +* [Inline assembly](https://github.com/rust-lang/rfcs/pull/2873) |
| 146 | +* [Add a new `#[instruction_set(...)]` attribute for supporting per-function instruction set changes](https://github.com/rust-lang/rfcs/pull/2867) |
| 147 | + |
| 148 | +## Final Comment Period |
| 149 | + |
| 150 | +Every week [the team](https://www.rust-lang.org/team.html) announces the |
| 151 | +'final comment period' for RFCs and key PRs which are reaching a |
| 152 | +decision. Express your opinions now. |
| 153 | + |
| 154 | +### [RFCs](https://github.com/rust-lang/rfcs/labels/final-comment-period) |
| 155 | + |
| 156 | +* [RFC: 'C unwind' ABI](https://github.com/rust-lang/rfcs/pull/2945) |
| 157 | + |
| 158 | +### [Tracking Issues & PRs](https://github.com/rust-lang/rust/labels/final-comment-period) |
| 159 | + |
| 160 | +* [disposition: merge] [Stabilize Vec::leak as a method](https://github.com/rust-lang/rust/pull/74605) |
| 161 | +* [disposition: merge] [add `slice::array_chunks` to std](https://github.com/rust-lang/rust/pull/74373) |
| 162 | + |
| 163 | +## New RFCs |
| 164 | + |
| 165 | +* [RFC: Add JSON backend to Rustdoc](https://github.com/rust-lang/rfcs/pull/2963) |
| 166 | +* [RFC: Named arguments](https://github.com/rust-lang/rfcs/pull/2964) |
| 167 | +* [Establish a new error handling project group](https://github.com/rust-lang/rfcs/pull/2965) |
| 168 | + |
| 169 | +# Upcoming Events |
| 170 | + |
| 171 | +### Online |
| 172 | +* [July 27 - August 2. Rusty Days Virtual Rust Conference](https://rusty-days.org/) |
| 173 | +* [August 5. Johannesburg, ZA - Johannesburg Rust Meetup - Monthly Joburg Rust Chat](https://www.meetup.com/Johannesburg-Rust-Meetup/events/271875886/) |
| 174 | +* [August 5. Dublin, IE - Rust Dublin - August Remote Meetup](https://www.meetup.com/Rust-Dublin/events/272162980/) |
| 175 | +* [August 5. Buffalo, NY, US - Buffalo Rust Meetup - Rust User Group](https://www.meetup.com/Buffalo-Rust-Meetup/events/271511557/) |
| 176 | +* [August 5. Indianapolis, IN, US - Indy Rust - Indy.rs with Social Distancing](https://www.meetup.com/indyrs/events/jhfstrybclbhb/) |
| 177 | +* [August 6. Linz, AT - Rust Meetup Linz - Kick Off](https://www.meetup.com/de-DE/Rust-Linz/events/271857182/) |
| 178 | +* [August 6. Berlin, DE - Berline.rs - Rust Hack and Learn](https://www.meetup.com/opentechschool-berlin/events/txcprrybclbjb/) |
| 179 | +* [August 11. Seattle, WA, US - Seattle Rust Meetup - Monthly meetup](https://www.meetup.com/Seattle-Rust-Meetup/events/gskksrybclbpb/) |
| 180 | + |
| 181 | +### North America |
| 182 | +* [July 28. Dallas, TX, US - Dallas Rust - Last Tuesday](https://www.meetup.com/Dallas-Rust/events/nppvrrybckblc/) |
| 183 | + |
| 184 | +### Asia Pacific |
| 185 | +* [August 3. Auckland, NZ - Rust ALK - Rust Meetup](https://www.meetup.com/rust-akl/events/266876693/) |
| 186 | + |
| 187 | +If you are running a Rust event please add it to the [calendar] to get |
| 188 | +it mentioned here. Please remember to add a link to the event too. |
| 189 | +Email the [Rust Community Team][community] for access. |
| 190 | + |
| 191 | +[calendar]: https://www.google.com/calendar/embed?src=apd9vmbc22egenmtu5l6c5jbfc%40group.calendar.google.com |
| 192 | +[community]: mailto:[email protected] |
| 193 | + |
| 194 | +# Rust Jobs |
| 195 | + |
| 196 | +* [Software Engineer Backend (m/f/d) Rust at Snapview GmbH ( München, DE)](https://stackoverflow.com/jobs/415671/software-engineer-backend-m-f-d-rust-snapview-gmbh) |
| 197 | +* [Backend Engineer at Spruce (Remote)](https://docs.google.com/document/d/1ZrvfGtgVGh63ezpiaerc95SFR64cGU4ftBJENczdvAs) |
| 198 | +* [Backend Engineer - Rust at Kraken (Remote)](https://jobs.lever.co/kraken/4019a818-4a7b-46ef-9225-c53c7a7f238c) |
| 199 | +* [Backend Engineer - Data Processing - Rust at Kraken (Remote)](https://jobs.lever.co/kraken/246f7fd2-000a-4f61-8f53-b1cc783d51cb) |
| 200 | +* [Senior Backend Engineer - Rust at Kraken (Remote)](https://jobs.lever.co/kraken/4c864c8f-bde6-443d-b521-dd90df0e9105) |
| 201 | +* [Front End Engineer at Solana](https://solana.com/frontend-eng-jd.pdf) |
| 202 | + |
| 203 | +*Tweet us at [@ThisWeekInRust](https://twitter.com/ThisWeekInRust) to get your job offers listed here!* |
| 204 | + |
| 205 | +# Quote of the Week |
| 206 | + |
| 207 | +Sadly, we had no quote suggestions this week. |
| 208 | + |
| 209 | +[Please submit quotes and vote for next week!](https://users.rust-lang.org/t/twir-quote-of-the-week/328) |
| 210 | + |
| 211 | +*This Week in Rust is edited by: [nellshamrell](https://github.com/nellshamrell), [llogiq](https://github.com/llogiq), and [cdmistman](https://github.com/cdmistman).* |
| 212 | + |
| 213 | +<small>[Discuss on r/rust](https://www.reddit.com/r/rust/comments/i094wo/this_week_in_rust_349/)</small> |
0 commit comments