From dcf29d22777b2bc3a49b63b9be474f9b78d414d5 Mon Sep 17 00:00:00 2001 From: Vladyslav Tkach Date: Tue, 26 Dec 2023 23:24:10 +0200 Subject: [PATCH] apply Grammarly corrections --- 0_basics/README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/0_basics/README.md b/0_basics/README.md index 3867ca6..063acf0 100644 --- a/0_basics/README.md +++ b/0_basics/README.md @@ -12,27 +12,27 @@ Polish your familiarity by completing [Rust By Example] and [rustlings]. Read through [Cargo Book] and become familiar with [Cargo] and its workspaces. After completing these steps, you should be able to answer (and understand why) the following questions: -- What memory model [Rust] has? Is it single-threaded or multiple-threaded? Is it synchronous or asynchronous? What is the memory layout of the box and vector? What are heap and stack? Where, but on heap and stack data could live in RAM? +- What memory model [Rust] has? Is it single-threaded or multi-threaded? Is it synchronous or asynchronous? What are the memory layouts of `Box` and `Vector`? What are a heap and a stack? Where, but on heap and stack data could live in RAM? - What runtime [Rust] has? Does it use a GC (garbage collector)? -- What statically typing means? What is a benefit of using it? Weak typing vs strong typing? Implicit / explicit? +- What static typing means? What are the benefits of using it? Weak vs strong typing? Implicit vs explicit typing? - What are generics and parametric polymorphism? Which problems do they solve? -- What is nominative typing and structural typing? What is difference? -- What are traits? How are they used? How do they compare to interfaces? What are an auto trait and a blanket impl? Uncovered type? What is a marker trait? -- What are static and dynamic dispatches? Which should I use, and when? What is monomorphisation? -- What is a crate, module and package in Rust? How do they differ? How are the used? What is workspace? -- What is cloning? What is copying? How do they compare? What is for trait drop? What is special about the trait? +- What are nominative typing and structural typing? What is the difference? +- What are traits? How are they used? How do they compare to interfaces? What are auto trait and blanket impl? Uncovered type? What are marker traits? +- What are static and dynamic dispatches? Which should you use, and when? What is monomorphization? +- What are a crate, a module, and a package in Rust? How do they differ? How are they used? What is a workspace? +- What is cloning? What is copying? How do they compare? What is trait Drop for? What is special about this trait? - What is immutability? What is the benefit of using it? What is the difference between immutability and const? - What are move semantics? What are borrowing rules? What is the benefit of using them? - What is RAII? How is it implemented in [Rust]? What is the benefit of using it? -- What are lifetimes? Which problems do they solve? Which benefits do they give? +- What are lifetimes? Which problems do they solve? Which benefits do they provide? - What is an iterator? What is a collection? How do they differ? How are they used? - What are macros? Which problems do they solve? What is the difference between declarative and procedural macro? - How code is tested in [Rust]? Where should you put tests and why? -- What is special about slice? What is layout of Rust standard data types? Difference between fat and thin pointers? -- Why [Rust] has `&str` and `String` types? How do they differ? When should you use them? Why str slice coexist with slice? What is differnece between `String` and `Vec`? -- Is [Rust] OOP language? Is it possible to use SOLID/GRASP? Does it have an inheritance? Is Rust functional language? What variance rules does Rust have? +- What is special about slice? What is the layout of Rust standard data types? Difference between fat and thin pointers? +- Why does [Rust] have `&str` and `String` types? How do they differ? When should you use them? Why str slice coexists with slice? What is the difference between `String` and `Vec`? +- Is [Rust] an OOP language? Is it possible to use SOLID/GRASP? Does it have inheritance? Is Rust a functional language? What variance rules does Rust have? -After you're done notify your lead in an appropriate PR (pull request), and he will exam what you have learned. +After you are done, notify your lead in an appropriate PR (pull request), and they will examine what you have learned. _Additional_ articles, which may help to understand the above topic better: - [Chris Morgan: Rust ownership, the hard way][1]