Charles Cooper

Charles Cooper

1608604417

Procedural Macros in Rust

Procedural macros allow you to generate Rust code at compile time. This guide covers everything you need to know about proc macros in Rust.

If you’ve been playing around with Rust for at least a little while, you’ve probably come across procedural macros — or proc macros for short — whether you realized it or not. The most popular proc macros may well be Serde’s derive macros for serialize and deserialize; you may have also come across them if you’ve worked with the Rocket web framework, the wasm-bindgen project, or any number of other libraries.

In this tutorial, we’ll tell you everything you need to know about procedural macros in Rust. We’ll cover the following:

  • What are procedural macros in Rust?
  • Declarative macros and procedural macros
  • Derive, function-like, and attribute macros
  • Creating a derive macro in Rust
  • Writing a procedural macro in Rust

#rust #programming #developer

What is GEEK

Buddha Community

Procedural Macros in Rust
Trycia  Hintz

Trycia Hintz

1626408420

Learn Rust Together: Chapter 19 #2, Macros - Part 26

Twenty sixth episode in a series where we dive into The Rust Programming language and learn about Advanced Patterns! In this session we wrap up Chapter 19 of “The Rust Programming Language” with a section on Macros! Only one more chapter to go!

https://doc.rust-lang.org/book/ch19-00-advanced-features.html

– Watch live on Tuesday nights from 9pm - 11pm Eastern at https://twitch.tv/tommcgurl

#rust #macros #rust programming

Rust Lang Course For Beginner In 2021: Guessing Game

 What we learn in this chapter:
- Rust number types and their default
- First exposure to #Rust modules and the std::io module to read input from the terminal
- Rust Variable Shadowing
- Rust Loop keyword
- Rust if/else
- First exposure to #Rust match keyword

=== Content:
00:00 - Intro & Setup
02:11 - The Plan
03:04 - Variable Secret
04:03 - Number Types
05:45 - Mutability recap
06:22 - Ask the user
07:45 - First intro to module std::io
08:29 - Rust naming conventions
09:22 - Read user input io:stdin().read_line(&mut guess)
12:46 - Break & Understand
14:20 - Parse string to number
17:10 - Variable Shadowing
18:46 - If / Else - You Win, You Loose
19:28 - Loop
20:38 - Match
23:19 - Random with rand
26:35 - Run it all
27:09 - Conclusion and next episode

#rust 

Lydia  Kessler

Lydia Kessler

1626318000

ULTIMATE Rust Lang Tutorial! - Publishing a Rust Crate

The ultimate Rust lang tutorial. Follow along as we go through the Rust lang book chapter by chapter.

📝Get the FREE Rust Cheatsheet: https://letsgetrusty.com/cheatsheet

The Rust book: https://doc.rust-lang.org/stable/book/​​

Chapters:
0:00​ Intro
0:43 Release Profiles
3:00 Documentation Comments
4:32 Commonly Used Sections
5:04 Documentation Comments as Tests
5:50 Commenting Contained Items
6:29 Exporting a Public API
8:44 Setting up Creates.io Account
9:54 Adding Metadata to a New Create
12:14 Publishing to Crates.io
12:49 Removing Version from Crates.io
13:37 Outro

#letsgetrusty​​ #rust​lang​ #tutorial

#rust #rust lang #rust crate

Iliana  Welch

Iliana Welch

1590896940

Rust Functions and Procedures

This Rust programming language tutorial series is aimed at easing your training step by step. Rust is a systems level language aimed at speed and safety and can be run cross-platform, including embedded systems and even the browser with WebAssembly (WASM)! I use the VS Code development environment to help you learn the core topics. Please join me on this journey with this fantastic new programming language.

Subscribe to the channel https://www.youtube.com/watch?v=hEhnDRR4Ijs

#functions #rust #procedures

Arden  Hirthe

Arden Hirthe

1614434100

Enhance Code Quality using `matches` Macro! in Rust

Code quality is one of the most important aspects of the programming world. It impacts our overall software quality and impacts how safe, secure, and reliable our codebase is.

Code quality is not only to perform efficiently but also to make code more readable.

In this article, we’ll try to get details of the matches macro, and we will also see the scenarios where we can incorporate this macro to improve our code quality.

matches macro!

_matches_(macro) is provided by Rust’s standard library and an external crate called matches.

Here we’ll talk about the matches macro provided by our standard library only, although both matches provide the same functionality but let’s focus on the official one.

So _matches_ checks whether the given expression matches any of the given patterns or not.

The return type of this macro is a boolean. It returns true if the provided pattern matches, false otherwise.

This macro makes our code cleaner and easy to read. In shot it improves code readability and quality.

Syntax
matches! (expression, pattern)

Let’s understand this syntax:

Here we have to provide two parameters, the expression, and pattern.

expression: a statement that evaluates to some value or some value,

pattern: any condition for which we want to check our expression

For example:

pub enum Test {
    FIRST,
    SECOND
}

fn is_first(data: Test) -> bool {
    matches!(data, Test::FIRST)

}

fn main() {
println!("{}", is_first(Test::FIRST))
}

Okay! now we get the idea in terms of the role of this macro and how to use it. Now let’s understand some internal behavior of this like, how it deals with things internally.

#rust #macros