Skip to content

docs: make some text changes on Section Macros #32509

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 28, 2016
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/doc/book/macros.md
Original file line number Diff line number Diff line change
Expand Up @@ -337,8 +337,8 @@ fn main() {
}
```

Instead you need to pass the variable name into the invocation, so it’s tagged
with the right syntax context.
Instead you need to pass the variable name into the invocation, so that it’s
tagged with the right syntax context.

```rust
macro_rules! foo {
Expand Down Expand Up @@ -470,7 +470,7 @@ which syntactic form it matches.
* `ty`: a type. Examples: `i32`; `Vec<(char, String)>`; `&T`.
* `pat`: a pattern. Examples: `Some(t)`; `(17, 'a')`; `_`.
* `stmt`: a single statement. Example: `let x = 3`.
* `block`: a brace-delimited sequence of statements. Example:
* `block`: a brace-delimited sequence of statements and optional an expression. Example:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it should be "optionally"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, you are right. Thanks for your suggestion.

`{ log(error, "hi"); return 12; }`.
* `item`: an [item][item]. Examples: `fn foo() { }`; `struct Bar;`.
* `meta`: a "meta item", as found in attributes. Example: `cfg(target_os = "windows")`.
Expand Down Expand Up @@ -509,7 +509,7 @@ A macro defined within the body of a single `fn`, or anywhere else not at
module scope, is visible only within that item.

If a module has the `macro_use` attribute, its macros are also visible in its
parent module after the child’s `mod` item. If the parent also has `macro_use`
parent module after its `mod` item. If the parent also has `macro_use`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually think this is worse. Not to say the wording was perfect before, but now it's not clear whether "its" refers to the parent module or the child module.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now I agree, its introduces the ambiguity problem. In fact, I made an analogy with the first sentence and the second one

a module(it) its parent the child’s
the parent the grandparent the parent's

and I thought the second one was better, and got a module==the child, so I changed the child's to its.

Thanks again.

then the macros will be visible in the grandparent after the parent’s `mod`
item, and so forth.

Expand Down