File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ What you see:
19
19
- The ` main ` function is the entry point of the program.
20
20
- Blocks are delimited by curly braces like in C and C++.
21
21
- Statements end with ` ; ` .
22
- - Rust has hygienic macros, ` println !` is an example of this .
22
+ - ` println ` is a macro, indicated by the ` ! ` in the invocation .
23
23
- Rust strings are UTF-8 encoded and can contain any Unicode character.
24
24
25
25
<details >
@@ -37,9 +37,9 @@ Key points:
37
37
- Rust uses macros for situations where you want to have a variable number of
38
38
arguments (no function [ overloading] ( ../control-flow-basics/functions.md ) ).
39
39
40
- - Macros being 'hygienic' means they don't accidentally capture identifiers from
41
- the scope they are used in. Rust macros are actually only
42
- [ partially hygienic ] ( https://veykril.github.io/tlborm/decl-macros/minutiae/hygiene.html ) .
40
+ - ` println! ` is a macro because it needs to handle an arbitrary number of
41
+ arguments based on the format string, which can't be done with a regular
42
+ function. Otherwise it can be treated like a regular function .
43
43
44
44
- Rust is multi-paradigm. For example, it has powerful
45
45
[ object-oriented programming features] ( https://doc.rust-lang.org/book/ch17-00-oop.html ) ,
You can’t perform that action at this time.
0 commit comments