about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSteve Klabnik <steve@steveklabnik.com>2014-06-26 15:44:29 -0400
committerSteve Klabnik <steve@steveklabnik.com>2014-06-26 15:44:29 -0400
commit546b202e0edbeb53a474c6126d8ad5d47081be2f (patch)
treecb34dcdb80945d0aec5668a4593167c25693a19f
parent8cd906811a1f541772fd526fc61ff2b6ead86f2e (diff)
Note that macros != templates
Good call, @chris-morgan and @cmr!
-rw-r--r--src/doc/guide.md5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/doc/guide.md b/src/doc/guide.md
index b3ae6db8061..fabf04124ba 100644
--- a/src/doc/guide.md
+++ b/src/doc/guide.md
@@ -200,7 +200,10 @@ The second point is the `println!()` part. This is calling a Rust **macro**,
 which is how metaprogramming is done in Rust. If it were a function instead, it
 would look like this: `println()`. For our purposes, we don't need to worry
 about this difference. Just know that sometimes, you'll see a `!`, and that
-means that you're calling a macro instead of a normal function.
+means that you're calling a macro instead of a normal function. One last thing
+to mention: Rust's macros are significantly different than C++ templates, if
+you've used those. Don't be scared of using macros. We'll get to the details
+eventually, you'll just have to trust us for now.
 
 Next, `"Hello, world"` is a **string**. Strings are a surprisingly complicated
 topic in a systems programming language, and this is a **statically allocated**