Rust 1.74.0: All 45 changes in 19 minutes!

Ғылым және технология

Rust 1.74.0 release notes - 45 changes! Visit ultimaterustcourses.com for Ultimate Rust Crash Course and other Rust courses!
Links:
Rust 1.74.0 Blog Post -
Lints: doc.rust-lang.org/stable/carg...
Workspace.lints: doc.rust-lang.org/stable/carg...
RFC 3389 - rust-lang.github.io/rfcs/3389...
RFC 2145 - rust-lang.github.io/rfcs/2145...
MIR - blog.rust-lang.org/2016/04/19...
cargo login - doc.rust-lang.org/cargo/comma...
Custom CSS in documentation - github.com/rust-lang/rust/pul...
- Online Rust Courses: ultimaterustcourses.com
- Ultimate Rust Crash Course: ultimaterustcourses.com/ultim...
0:00 Intro
0:17 0. Correction from 1.73.0 -- fancy colors are now available!
0:32 1. Lint configuration through Cargo
2:18 2. Self and associated types allowed in Opaque Return types
2:54 3. Minimum Apple Versions Raised
3:24 4. private_in_public lint replaced with two new lints
3:59 5. (Docs) Lifetime parameters do not affect enum discrimanants
4:50 6. Allow explicit #[repr(Rust)]
5:35 7. Fix closure field captures depending on packed field alignment
6:00 8. Enable MIR-based drop-tracking for async blocks
6:34 9. Allow combining +bundle and +whole-archive link modifiers
7:04 10. Stabilize PATH for --print KIND=PATH
7:27 11. Enable ASAN, LSAN, & TSAN for *-apple-ios-macabi
7:50 12. New Platform Support
8:18 13. core::num::Saturating
8:46 14. Stdio stuff
9:15 15. Convert OS strings to/from encoded bytes
9:36 16. std::io::Error::other
9:51 17. impl TryFrom(char) for u16
10:04 18. Convert array reference to Vec
10:29 19. Convert array to reference-counted array
10:49 20. Const Stabilized APIs
11:29 21. MSRV for Cargo the library
11:46 22. Cargo changes how arrays in config are merged
12:15 23. cargo update --aggressive renamed to --recursive
12:34 24. -p optional in cargo update
12:51 25. Allow incomplete versions
13:15 26. Stabilize registry-auth with credential-process
13:39 27. Add -n alias for --dry-run
13:51 28. target.(cfg).linker
14:07 29. --keep-going
14:28 30. Rustdoc "warning" syntax
14:52 31. Rustdoc custom code CSS
15:12 32. Rustdoc search by generic type signature
15:31 33. Enum alias doc improvements
15:45 34. Cell::swap panics if cells overlap
15:58 35. rustc --extern requires valid ascii
16:08 36. redundant_as_str
16:24 37. needless_borrow_for_generic_args
16:36 38. path_ends_with_ext
17:03 39. unnecessary_map_on_constructor
17:20 40. missing_asserts_for_indexing
18:08 41. iter_out_of_bounds
18:26 42. implied_bounds_in_impls
18:55 43. reserve_after_initialization
19:08 44. should_panic_without_expect
19:25 Buy my courses to be awesome at Rust
Visit ultimaterustcourses.com for Ultimate Rust Crash Course and other Rust courses!

Пікірлер: 29

  • @evanrelf
    @evanrelf7 ай бұрын

    These videos are so so good! Incredibly thorough, very well explained, and out on the same day as the release? WOW! Thank you Nathan

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    You are most welcome!

  • @user-bf6yx4nn5k
    @user-bf6yx4nn5k6 ай бұрын

    Amazing. Thanks for this content about Rust. Loved your intro on Oreilly

  • @NathanStocks

    @NathanStocks

    6 ай бұрын

    You're welcome! Thank you for your kind words!

  • @michallis_pashidis
    @michallis_pashidis7 ай бұрын

    Dear Nathan, as usual… splendid walkthrough! Appreciated :-)

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    Thank you for your kind words! You are most welcome.

  • @CuriousSpy
    @CuriousSpy7 ай бұрын

    getting better every time. thanks

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    Hey, thanks! That's the goal!

  • @meka4996
    @meka49967 ай бұрын

    Wonderful! Thanks

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    You're welcome!

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    The announcement was Nov 8 on the Rust Foundation blog: foundation.rust-lang.org/news/the-rust-foundation-to-develop-training-and-certification-program/ Sounds like it's super early days. I reached out to the foundation and to Tim McNamara as mentioned in the post. We'll see if anything comes of it!

  • @jeffg4686
    @jeffg46867 ай бұрын

    cargo update should really be named to cargo update-deps

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    Ya, the behavior of "update" subcommand is a bit unintuitive. I'm with you, there.

  • @orenpage
    @orenpage7 ай бұрын

    `cargo update mypackage@5` doesn't upgrade **to** v5 but selects v5 from your dependency tree if there is an ambiguity. A common case I run into: cargo add clap cargo add criterion # before it upgraded to clap v4 If you did `cargo update clap` it would error saying "which one?". Now its easier to type out which you wanted.

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    Ah! Thank you for the clarification, Ed!

  • @mansoormohamedali122
    @mansoormohamedali1227 ай бұрын

    Hello from number 36 onwards 16:24 when you talked about the clippy, how do you access those panels? Thank you

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    It is the top result when you google "clippy lints". Here is the page: rust-lang.github.io/rust-clippy/master/index.html

  • @SkegAudio
    @SkegAudio7 ай бұрын

    Hi, Nathan! Great video and thoroughly explained the update :) QQ: Since the Rust Foundation is developing its own training and certification program and is currently looking for Rust instructors, is it on your plans to join the program as an instructor? I enjoy your teaching methodology from your courses, and many would benefit greatly, especially when it comes to having a strong foundational understanding of the language :)

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    Thank you for your kind words! Answer to your question: They are!? I'll have to look into that! Thanks for calling that out!

  • @michelvandermeiren8661
    @michelvandermeiren86617 ай бұрын

    We tried Rust at work for a few weeks and stop using it due to low productivity. Our budgets don't allow to spend the time required with Rust versus extremely productive language like python

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    If your team is already productive in another language, it would not be unexpected for it to take months to reach an equivalent productivity in Rust, and that's okay. If you are already productive, it may not make sense to switch to Rust. However, when it does make sense, my courses will help you ramp up your Rust productivity much quicker! 😉

  • @Jaime-eg4eb

    @Jaime-eg4eb

    7 ай бұрын

    A system language and a language used primarily for scripts and data science are usually not simultaneously good options to solve a problem.

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    @@Jaime-eg4eb Sure, mixing Rust and Python in a short script would probably be a bit odd. It sort of depends on how deep you dig. A lot of the Python science modules are implemented in C. Rewriting portions of C in Rust can be worthwhile, as can choosing Rust for a new performance-critical module instead of writing another one in C. Replacing a large Python codebase with Rust to gain performance and reliability is a perfectly reasonable choice as well.

  • @andrewkraevskii
    @andrewkraevskii7 ай бұрын

    It seems like you forgot to update video title to 1.74

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    Oops! Fixed. Thanks for noticing. 😄

  • @jeffg4686
    @jeffg46867 ай бұрын

    With AutoGen, TaskWeaver, and the like, how many years left do we have a job? Anyone care to guess?

  • @NathanStocks

    @NathanStocks

    7 ай бұрын

    My guess: all the years. I, for one, welcome letting tooling handle more of the legwork. The job will morph a bit, just like it always does as new things are invented over time. We'll all need to continue to learn and use new and better tools, just like we always have.

Келесі