-
Notifications
You must be signed in to change notification settings - Fork 500
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
Document compatibility between declarative and procedural macro tokens #1169
Conversation
src/procedural-macros.md
Outdated
|
||
Note that neither declarative nor procedural macros support doc comment tokens | ||
(e.g. `/// Doc`), so they are always converted to token streams representing | ||
their equivalent `#[doc = "str"]` attributes when passed to macros. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
their equivalent `#[doc = "str"]` attributes when passed to macros. | |
their equivalent `#[doc = r"str"]` attributes when passed to macros. |
macro_rules! m {
($($tt:tt)*) => {
println!("{}", stringify!($($tt)*));
};
}
fn main() {
m!(
///str
);
}
#[doc = r"str"]
babe3cb
to
de89652
Compare
I've addressed review comments. |
@rustbot ready |
Error: The feature Please let |
@rustbot label +S-waiting-on-review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
src/procedural-macros.md
Outdated
- Literals (`"string"`, `1`, etc) | ||
- Note that negation (e.g. `-1`) is never a part of such literal tokens, | ||
but a separate operator token. | ||
- Identifiers (`ident`, `r#ident`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps to be more explicit, as the way the reference dances around the distinction in various places? That is, the TokenTree defined here which references the tokens chapter which makes a distinction between keywords and identifiers.
- Identifiers (`ident`, `r#ident`) | |
- Identifiers and keywords (`ident`, `r#ident`, `fn`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd rather say that the https://doc.rust-lang.org/reference/tokens.html#tokens is not right.
The distinction between Rust keywords and other identifiers starts from the Rust language parser, but each macro has its own language and parser that isn't necessarily aware of the Rust set of keywords, and may reserve other identifiers instead.
E.g. the language introduced by macro_rules! foo { (a) => {}; ($ident:ident) => {} }
has only one keyword a
that doesn't match any Rust keyword.
src/procedural-macros.md
Outdated
- All punctuation characters used in operators supported by the language (`+`, | ||
but not `+=`), and also the single quote `'` character |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This particular point seemed a little confusing to me. It wasn't immediately clear what it was trying to say. The section below clears it up a little, but I'm wondering if the confusion could be avoided with a few more words. Maybe something like this:
- All punctuation characters used in operators supported by the language (`+`, | |
but not `+=`), and also the single quote `'` character | |
- All punctuation characters used in operators supported by the language (`+`, | |
but not `+=`), and also the single quote `'` character as part of a lifetime (see below for splitting and joining behavior) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In languages defined by proc macros '
is an independent token, it doesn't necessarily have to be joined with identifiers to form lifetimes.
de89652
to
26acee2
Compare
I've added the changes from #1169 (comment) and #1169 (comment) in a slightly reworded form. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Update books ## nomicon 1 commits in 11f1165e8a2f5840467e748c8108dc53c948ee9a..c7d8467ca9158da58ef295ae65dbf00a308752d9 2022-03-19 16:02:00 -0400 to 2022-04-06 14:26:54 +0900 - Change "writers" to "readers" for Deref. (rust-lang/nomicon#346) ## reference 7 commits in c97d14fa6fed0baa9255432b8a93cb70614f80e3..b5f6c2362baf932db9440fbfcb509b309237ee85 2022-03-19 18:18:10 -0700 to 2022-04-10 19:19:51 -0700 - Fix typo: `?` should be inside `<sup>` tags (rust-lang/reference#1190) - Update aarch64 to use neon as fp (rust-lang/reference#1184) - Boolean literal expressions (rust-lang/reference#1189) - Document that unary negation of a signed integer literal cannot cause an overflow error (rust-lang/reference#1188) - Document compatibility between declarative and procedural macro tokens (rust-lang/reference#1169) - Document native library modifier syntax and the `whole-archive` modifier specifically (rust-lang/reference#1170) - Numeric literal expressions and literal suffixes (rust-lang/reference#1177) ## book 8 commits in ea90bbaf53ba64ef4e2da9ac2352b298aec6bec8..765318b844569a642ceef7bf1adab9639cbf6af3 2022-03-28 21:59:34 -0400 to 2022-04-12 21:14:47 -0400 - Propagate nostarch edits to src - Propagate updated test example code to nostarch snapshot - Edits to nostarch edits - edits from nostarch - Fix error message for the example code - update ch13-02 to reflect changes in rust-lang/book#2797 - Update to 1.59 - Edits to chapter 2 after tech review ## rust-by-example 4 commits in ec954f35eedf592cd173b21c05a7f80a65b61d8a..c2a98d9fc5d29c481d42052fbeccfde15ed03116 2022-03-22 11:09:06 -0300 to 2022-04-08 06:44:18 -0300 - Code highlight a variable (rust-lang/rust-by-example#1530) - Add a comment to note that warnings may not be shown in a browser in the Variable Bindings section (rust-lang/rust-by-example#1529) - Make all new types have UpperCamelCase names in code example in the Aliasing section (rust-lang/rust-by-example#1528) - Replace `C` with C/C++ (rust-lang/rust-by-example#1527) ## rustc-dev-guide 6 commits in 155126b..eeb5a83 2022-03-22 14:34:21 +0100 to 2022-04-11 23:29:48 +0900 - method-lookup.md improvements (rust-lang/rustc-dev-guide#1296) - Consolidate crates.io convention section (rust-lang/rustc-dev-guide#1326) - Update examples with 1.61.0-nightly (latest version) (rust-lang/rustc-dev-guide#1330) - r-a: Use `python3 x.py` instead of `./x.py` (rust-lang/rustc-dev-guide#1335) - Update miri.md: correct a minor typo (rust-lang/rustc-dev-guide#1334) - Add example how lints can be feature gated
Update books ## nomicon 1 commits in 11f1165e8a2f5840467e748c8108dc53c948ee9a..c7d8467ca9158da58ef295ae65dbf00a308752d9 2022-03-19 16:02:00 -0400 to 2022-04-06 14:26:54 +0900 - Change "writers" to "readers" for Deref. (rust-lang/nomicon#346) ## reference 7 commits in c97d14fa6fed0baa9255432b8a93cb70614f80e3..b5f6c2362baf932db9440fbfcb509b309237ee85 2022-03-19 18:18:10 -0700 to 2022-04-10 19:19:51 -0700 - Fix typo: `?` should be inside `<sup>` tags (rust-lang/reference#1190) - Update aarch64 to use neon as fp (rust-lang/reference#1184) - Boolean literal expressions (rust-lang/reference#1189) - Document that unary negation of a signed integer literal cannot cause an overflow error (rust-lang/reference#1188) - Document compatibility between declarative and procedural macro tokens (rust-lang/reference#1169) - Document native library modifier syntax and the `whole-archive` modifier specifically (rust-lang/reference#1170) - Numeric literal expressions and literal suffixes (rust-lang/reference#1177) ## book 8 commits in ea90bbaf53ba64ef4e2da9ac2352b298aec6bec8..765318b844569a642ceef7bf1adab9639cbf6af3 2022-03-28 21:59:34 -0400 to 2022-04-12 21:14:47 -0400 - Propagate nostarch edits to src - Propagate updated test example code to nostarch snapshot - Edits to nostarch edits - edits from nostarch - Fix error message for the example code - update ch13-02 to reflect changes in rust-lang/book#2797 - Update to 1.59 - Edits to chapter 2 after tech review ## rust-by-example 4 commits in ec954f35eedf592cd173b21c05a7f80a65b61d8a..c2a98d9fc5d29c481d42052fbeccfde15ed03116 2022-03-22 11:09:06 -0300 to 2022-04-08 06:44:18 -0300 - Code highlight a variable (rust-lang/rust-by-example#1530) - Add a comment to note that warnings may not be shown in a browser in the Variable Bindings section (rust-lang/rust-by-example#1529) - Make all new types have UpperCamelCase names in code example in the Aliasing section (rust-lang/rust-by-example#1528) - Replace `C` with C/C++ (rust-lang/rust-by-example#1527) ## rustc-dev-guide 6 commits in 155126b..eeb5a83 2022-03-22 14:34:21 +0100 to 2022-04-11 23:29:48 +0900 - method-lookup.md improvements (rust-lang/rustc-dev-guide#1296) - Consolidate crates.io convention section (rust-lang/rustc-dev-guide#1326) - Update examples with 1.61.0-nightly (latest version) (rust-lang/rustc-dev-guide#1330) - r-a: Use `python3 x.py` instead of `./x.py` (rust-lang/rustc-dev-guide#1335) - Update miri.md: correct a minor typo (rust-lang/rustc-dev-guide#1334) - Add example how lints can be feature gated
Update books ## nomicon 1 commits in 11f1165e8a2f5840467e748c8108dc53c948ee9a..c7d8467ca9158da58ef295ae65dbf00a308752d9 2022-03-19 16:02:00 -0400 to 2022-04-06 14:26:54 +0900 - Change "writers" to "readers" for Deref. (rust-lang/nomicon#346) ## reference 7 commits in c97d14fa6fed0baa9255432b8a93cb70614f80e3..b5f6c2362baf932db9440fbfcb509b309237ee85 2022-03-19 18:18:10 -0700 to 2022-04-10 19:19:51 -0700 - Fix typo: `?` should be inside `<sup>` tags (rust-lang/reference#1190) - Update aarch64 to use neon as fp (rust-lang/reference#1184) - Boolean literal expressions (rust-lang/reference#1189) - Document that unary negation of a signed integer literal cannot cause an overflow error (rust-lang/reference#1188) - Document compatibility between declarative and procedural macro tokens (rust-lang/reference#1169) - Document native library modifier syntax and the `whole-archive` modifier specifically (rust-lang/reference#1170) - Numeric literal expressions and literal suffixes (rust-lang/reference#1177) ## book 8 commits in ea90bbaf53ba64ef4e2da9ac2352b298aec6bec8..765318b844569a642ceef7bf1adab9639cbf6af3 2022-03-28 21:59:34 -0400 to 2022-04-12 21:14:47 -0400 - Propagate nostarch edits to src - Propagate updated test example code to nostarch snapshot - Edits to nostarch edits - edits from nostarch - Fix error message for the example code - update ch13-02 to reflect changes in rust-lang/book#2797 - Update to 1.59 - Edits to chapter 2 after tech review ## rust-by-example 4 commits in ec954f35eedf592cd173b21c05a7f80a65b61d8a..c2a98d9fc5d29c481d42052fbeccfde15ed03116 2022-03-22 11:09:06 -0300 to 2022-04-08 06:44:18 -0300 - Code highlight a variable (rust-lang/rust-by-example#1530) - Add a comment to note that warnings may not be shown in a browser in the Variable Bindings section (rust-lang/rust-by-example#1529) - Make all new types have UpperCamelCase names in code example in the Aliasing section (rust-lang/rust-by-example#1528) - Replace `C` with C/C++ (rust-lang/rust-by-example#1527) ## rustc-dev-guide 6 commits in 155126b..eeb5a83 2022-03-22 14:34:21 +0100 to 2022-04-11 23:29:48 +0900 - method-lookup.md improvements (rust-lang/rustc-dev-guide#1296) - Consolidate crates.io convention section (rust-lang/rustc-dev-guide#1326) - Update examples with 1.61.0-nightly (latest version) (rust-lang/rustc-dev-guide#1330) - r-a: Use `python3 x.py` instead of `./x.py` (rust-lang/rustc-dev-guide#1335) - Update miri.md: correct a minor typo (rust-lang/rustc-dev-guide#1334) - Add example how lints can be feature gated
Update books ## nomicon 1 commits in 11f1165e8a2f5840467e748c8108dc53c948ee9a..c7d8467ca9158da58ef295ae65dbf00a308752d9 2022-03-19 16:02:00 -0400 to 2022-04-06 14:26:54 +0900 - Change "writers" to "readers" for Deref. (rust-lang/nomicon#346) ## reference 7 commits in c97d14fa6fed0baa9255432b8a93cb70614f80e3..b5f6c2362baf932db9440fbfcb509b309237ee85 2022-03-19 18:18:10 -0700 to 2022-04-10 19:19:51 -0700 - Fix typo: `?` should be inside `<sup>` tags (rust-lang/reference#1190) - Update aarch64 to use neon as fp (rust-lang/reference#1184) - Boolean literal expressions (rust-lang/reference#1189) - Document that unary negation of a signed integer literal cannot cause an overflow error (rust-lang/reference#1188) - Document compatibility between declarative and procedural macro tokens (rust-lang/reference#1169) - Document native library modifier syntax and the `whole-archive` modifier specifically (rust-lang/reference#1170) - Numeric literal expressions and literal suffixes (rust-lang/reference#1177) ## book 8 commits in ea90bbaf53ba64ef4e2da9ac2352b298aec6bec8..765318b844569a642ceef7bf1adab9639cbf6af3 2022-03-28 21:59:34 -0400 to 2022-04-12 21:14:47 -0400 - Propagate nostarch edits to src - Propagate updated test example code to nostarch snapshot - Edits to nostarch edits - edits from nostarch - Fix error message for the example code - update ch13-02 to reflect changes in rust-lang/book#2797 - Update to 1.59 - Edits to chapter 2 after tech review ## rust-by-example 4 commits in ec954f35eedf592cd173b21c05a7f80a65b61d8a..c2a98d9fc5d29c481d42052fbeccfde15ed03116 2022-03-22 11:09:06 -0300 to 2022-04-08 06:44:18 -0300 - Code highlight a variable (rust-lang/rust-by-example#1530) - Add a comment to note that warnings may not be shown in a browser in the Variable Bindings section (rust-lang/rust-by-example#1529) - Make all new types have UpperCamelCase names in code example in the Aliasing section (rust-lang/rust-by-example#1528) - Replace `C` with C/C++ (rust-lang/rust-by-example#1527) ## rustc-dev-guide 6 commits in 155126b..eeb5a83 2022-03-22 14:34:21 +0100 to 2022-04-11 23:29:48 +0900 - method-lookup.md improvements (rust-lang/rustc-dev-guide#1296) - Consolidate crates.io convention section (rust-lang/rustc-dev-guide#1326) - Update examples with 1.61.0-nightly (latest version) (rust-lang/rustc-dev-guide#1330) - r-a: Use `python3 x.py` instead of `./x.py` (rust-lang/rustc-dev-guide#1335) - Update miri.md: correct a minor typo (rust-lang/rustc-dev-guide#1334) - Add example how lints can be feature gated
Update books ## nomicon 1 commits in 11f1165e8a2f5840467e748c8108dc53c948ee9a..c7d8467ca9158da58ef295ae65dbf00a308752d9 2022-03-19 16:02:00 -0400 to 2022-04-06 14:26:54 +0900 - Change "writers" to "readers" for Deref. (rust-lang/nomicon#346) ## reference 7 commits in c97d14fa6fed0baa9255432b8a93cb70614f80e3..b5f6c2362baf932db9440fbfcb509b309237ee85 2022-03-19 18:18:10 -0700 to 2022-04-10 19:19:51 -0700 - Fix typo: `?` should be inside `<sup>` tags (rust-lang/reference#1190) - Update aarch64 to use neon as fp (rust-lang/reference#1184) - Boolean literal expressions (rust-lang/reference#1189) - Document that unary negation of a signed integer literal cannot cause an overflow error (rust-lang/reference#1188) - Document compatibility between declarative and procedural macro tokens (rust-lang/reference#1169) - Document native library modifier syntax and the `whole-archive` modifier specifically (rust-lang/reference#1170) - Numeric literal expressions and literal suffixes (rust-lang/reference#1177) ## book 8 commits in ea90bbaf53ba64ef4e2da9ac2352b298aec6bec8..765318b844569a642ceef7bf1adab9639cbf6af3 2022-03-28 21:59:34 -0400 to 2022-04-12 21:14:47 -0400 - Propagate nostarch edits to src - Propagate updated test example code to nostarch snapshot - Edits to nostarch edits - edits from nostarch - Fix error message for the example code - update ch13-02 to reflect changes in rust-lang/book#2797 - Update to 1.59 - Edits to chapter 2 after tech review ## rust-by-example 4 commits in ec954f35eedf592cd173b21c05a7f80a65b61d8a..c2a98d9fc5d29c481d42052fbeccfde15ed03116 2022-03-22 11:09:06 -0300 to 2022-04-08 06:44:18 -0300 - Code highlight a variable (rust-lang/rust-by-example#1530) - Add a comment to note that warnings may not be shown in a browser in the Variable Bindings section (rust-lang/rust-by-example#1529) - Make all new types have UpperCamelCase names in code example in the Aliasing section (rust-lang/rust-by-example#1528) - Replace `C` with C/C++ (rust-lang/rust-by-example#1527) ## rustc-dev-guide 6 commits in 155126b..eeb5a83 2022-03-22 14:34:21 +0100 to 2022-04-11 23:29:48 +0900 - method-lookup.md improvements (rust-lang/rustc-dev-guide#1296) - Consolidate crates.io convention section (rust-lang/rustc-dev-guide#1326) - Update examples with 1.61.0-nightly (latest version) (rust-lang/rustc-dev-guide#1330) - r-a: Use `python3 x.py` instead of `./x.py` (rust-lang/rustc-dev-guide#1335) - Update miri.md: correct a minor typo (rust-lang/rustc-dev-guide#1334) - Add example how lints can be feature gated
Update books ## nomicon 1 commits in 11f1165e8a2f5840467e748c8108dc53c948ee9a..c7d8467ca9158da58ef295ae65dbf00a308752d9 2022-03-19 16:02:00 -0400 to 2022-04-06 14:26:54 +0900 - Change "writers" to "readers" for Deref. (rust-lang/nomicon#346) ## reference 7 commits in c97d14fa6fed0baa9255432b8a93cb70614f80e3..b5f6c2362baf932db9440fbfcb509b309237ee85 2022-03-19 18:18:10 -0700 to 2022-04-10 19:19:51 -0700 - Fix typo: `?` should be inside `<sup>` tags (rust-lang/reference#1190) - Update aarch64 to use neon as fp (rust-lang/reference#1184) - Boolean literal expressions (rust-lang/reference#1189) - Document that unary negation of a signed integer literal cannot cause an overflow error (rust-lang/reference#1188) - Document compatibility between declarative and procedural macro tokens (rust-lang/reference#1169) - Document native library modifier syntax and the `whole-archive` modifier specifically (rust-lang/reference#1170) - Numeric literal expressions and literal suffixes (rust-lang/reference#1177) ## book 8 commits in ea90bbaf53ba64ef4e2da9ac2352b298aec6bec8..765318b844569a642ceef7bf1adab9639cbf6af3 2022-03-28 21:59:34 -0400 to 2022-04-12 21:14:47 -0400 - Propagate nostarch edits to src - Propagate updated test example code to nostarch snapshot - Edits to nostarch edits - edits from nostarch - Fix error message for the example code - update ch13-02 to reflect changes in rust-lang/book#2797 - Update to 1.59 - Edits to chapter 2 after tech review ## rust-by-example 4 commits in ec954f35eedf592cd173b21c05a7f80a65b61d8a..c2a98d9fc5d29c481d42052fbeccfde15ed03116 2022-03-22 11:09:06 -0300 to 2022-04-08 06:44:18 -0300 - Code highlight a variable (rust-lang/rust-by-example#1530) - Add a comment to note that warnings may not be shown in a browser in the Variable Bindings section (rust-lang/rust-by-example#1529) - Make all new types have UpperCamelCase names in code example in the Aliasing section (rust-lang/rust-by-example#1528) - Replace `C` with C/C++ (rust-lang/rust-by-example#1527) ## rustc-dev-guide 6 commits in 155126b..eeb5a83 2022-03-22 14:34:21 +0100 to 2022-04-11 23:29:48 +0900 - method-lookup.md improvements (rust-lang/rustc-dev-guide#1296) - Consolidate crates.io convention section (rust-lang/rustc-dev-guide#1326) - Update examples with 1.61.0-nightly (latest version) (rust-lang/rustc-dev-guide#1330) - r-a: Use `python3 x.py` instead of `./x.py` (rust-lang/rustc-dev-guide#1335) - Update miri.md: correct a minor typo (rust-lang/rustc-dev-guide#1334) - Add example how lints can be feature gated
Update books ## nomicon 1 commits in 11f1165e8a2f5840467e748c8108dc53c948ee9a..c7d8467ca9158da58ef295ae65dbf00a308752d9 2022-03-19 16:02:00 -0400 to 2022-04-06 14:26:54 +0900 - Change "writers" to "readers" for Deref. (rust-lang/nomicon#346) ## reference 7 commits in c97d14fa6fed0baa9255432b8a93cb70614f80e3..b5f6c2362baf932db9440fbfcb509b309237ee85 2022-03-19 18:18:10 -0700 to 2022-04-10 19:19:51 -0700 - Fix typo: `?` should be inside `<sup>` tags (rust-lang/reference#1190) - Update aarch64 to use neon as fp (rust-lang/reference#1184) - Boolean literal expressions (rust-lang/reference#1189) - Document that unary negation of a signed integer literal cannot cause an overflow error (rust-lang/reference#1188) - Document compatibility between declarative and procedural macro tokens (rust-lang/reference#1169) - Document native library modifier syntax and the `whole-archive` modifier specifically (rust-lang/reference#1170) - Numeric literal expressions and literal suffixes (rust-lang/reference#1177) ## book 8 commits in ea90bbaf53ba64ef4e2da9ac2352b298aec6bec8..765318b844569a642ceef7bf1adab9639cbf6af3 2022-03-28 21:59:34 -0400 to 2022-04-12 21:14:47 -0400 - Propagate nostarch edits to src - Propagate updated test example code to nostarch snapshot - Edits to nostarch edits - edits from nostarch - Fix error message for the example code - update ch13-02 to reflect changes in rust-lang/book#2797 - Update to 1.59 - Edits to chapter 2 after tech review ## rust-by-example 4 commits in ec954f35eedf592cd173b21c05a7f80a65b61d8a..c2a98d9fc5d29c481d42052fbeccfde15ed03116 2022-03-22 11:09:06 -0300 to 2022-04-08 06:44:18 -0300 - Code highlight a variable (rust-lang/rust-by-example#1530) - Add a comment to note that warnings may not be shown in a browser in the Variable Bindings section (rust-lang/rust-by-example#1529) - Make all new types have UpperCamelCase names in code example in the Aliasing section (rust-lang/rust-by-example#1528) - Replace `C` with C/C++ (rust-lang/rust-by-example#1527) ## rustc-dev-guide 6 commits in 155126b..eeb5a83 2022-03-22 14:34:21 +0100 to 2022-04-11 23:29:48 +0900 - method-lookup.md improvements (rust-lang/rustc-dev-guide#1296) - Consolidate crates.io convention section (rust-lang/rustc-dev-guide#1326) - Update examples with 1.61.0-nightly (latest version) (rust-lang/rustc-dev-guide#1330) - r-a: Use `python3 x.py` instead of `./x.py` (rust-lang/rustc-dev-guide#1335) - Update miri.md: correct a minor typo (rust-lang/rustc-dev-guide#1334) - Add example how lints can be feature gated
Update books ## nomicon 1 commits in 11f1165e8a2f5840467e748c8108dc53c948ee9a..c7d8467ca9158da58ef295ae65dbf00a308752d9 2022-03-19 16:02:00 -0400 to 2022-04-06 14:26:54 +0900 - Change "writers" to "readers" for Deref. (rust-lang/nomicon#346) ## reference 7 commits in c97d14fa6fed0baa9255432b8a93cb70614f80e3..b5f6c2362baf932db9440fbfcb509b309237ee85 2022-03-19 18:18:10 -0700 to 2022-04-10 19:19:51 -0700 - Fix typo: `?` should be inside `<sup>` tags (rust-lang/reference#1190) - Update aarch64 to use neon as fp (rust-lang/reference#1184) - Boolean literal expressions (rust-lang/reference#1189) - Document that unary negation of a signed integer literal cannot cause an overflow error (rust-lang/reference#1188) - Document compatibility between declarative and procedural macro tokens (rust-lang/reference#1169) - Document native library modifier syntax and the `whole-archive` modifier specifically (rust-lang/reference#1170) - Numeric literal expressions and literal suffixes (rust-lang/reference#1177) ## book 8 commits in ea90bbaf53ba64ef4e2da9ac2352b298aec6bec8..765318b844569a642ceef7bf1adab9639cbf6af3 2022-03-28 21:59:34 -0400 to 2022-04-12 21:14:47 -0400 - Propagate nostarch edits to src - Propagate updated test example code to nostarch snapshot - Edits to nostarch edits - edits from nostarch - Fix error message for the example code - update ch13-02 to reflect changes in rust-lang/book#2797 - Update to 1.59 - Edits to chapter 2 after tech review ## rust-by-example 4 commits in ec954f35eedf592cd173b21c05a7f80a65b61d8a..c2a98d9fc5d29c481d42052fbeccfde15ed03116 2022-03-22 11:09:06 -0300 to 2022-04-08 06:44:18 -0300 - Code highlight a variable (rust-lang/rust-by-example#1530) - Add a comment to note that warnings may not be shown in a browser in the Variable Bindings section (rust-lang/rust-by-example#1529) - Make all new types have UpperCamelCase names in code example in the Aliasing section (rust-lang/rust-by-example#1528) - Replace `C` with C/C++ (rust-lang/rust-by-example#1527) ## rustc-dev-guide 6 commits in 155126b..eeb5a83 2022-03-22 14:34:21 +0100 to 2022-04-11 23:29:48 +0900 - method-lookup.md improvements (rust-lang/rustc-dev-guide#1296) - Consolidate crates.io convention section (rust-lang/rustc-dev-guide#1326) - Update examples with 1.61.0-nightly (latest version) (rust-lang/rustc-dev-guide#1330) - r-a: Use `python3 x.py` instead of `./x.py` (rust-lang/rustc-dev-guide#1335) - Update miri.md: correct a minor typo (rust-lang/rustc-dev-guide#1334) - Add example how lints can be feature gated
Update books ## nomicon 1 commits in 11f1165e8a2f5840467e748c8108dc53c948ee9a..c7d8467ca9158da58ef295ae65dbf00a308752d9 2022-03-19 16:02:00 -0400 to 2022-04-06 14:26:54 +0900 - Change "writers" to "readers" for Deref. (rust-lang/nomicon#346) ## reference 7 commits in c97d14fa6fed0baa9255432b8a93cb70614f80e3..b5f6c2362baf932db9440fbfcb509b309237ee85 2022-03-19 18:18:10 -0700 to 2022-04-10 19:19:51 -0700 - Fix typo: `?` should be inside `<sup>` tags (rust-lang/reference#1190) - Update aarch64 to use neon as fp (rust-lang/reference#1184) - Boolean literal expressions (rust-lang/reference#1189) - Document that unary negation of a signed integer literal cannot cause an overflow error (rust-lang/reference#1188) - Document compatibility between declarative and procedural macro tokens (rust-lang/reference#1169) - Document native library modifier syntax and the `whole-archive` modifier specifically (rust-lang/reference#1170) - Numeric literal expressions and literal suffixes (rust-lang/reference#1177) ## book 8 commits in ea90bbaf53ba64ef4e2da9ac2352b298aec6bec8..765318b844569a642ceef7bf1adab9639cbf6af3 2022-03-28 21:59:34 -0400 to 2022-04-12 21:14:47 -0400 - Propagate nostarch edits to src - Propagate updated test example code to nostarch snapshot - Edits to nostarch edits - edits from nostarch - Fix error message for the example code - update ch13-02 to reflect changes in rust-lang/book#2797 - Update to 1.59 - Edits to chapter 2 after tech review ## rust-by-example 4 commits in ec954f35eedf592cd173b21c05a7f80a65b61d8a..c2a98d9fc5d29c481d42052fbeccfde15ed03116 2022-03-22 11:09:06 -0300 to 2022-04-08 06:44:18 -0300 - Code highlight a variable (rust-lang/rust-by-example#1530) - Add a comment to note that warnings may not be shown in a browser in the Variable Bindings section (rust-lang/rust-by-example#1529) - Make all new types have UpperCamelCase names in code example in the Aliasing section (rust-lang/rust-by-example#1528) - Replace `C` with C/C++ (rust-lang/rust-by-example#1527) ## rustc-dev-guide 6 commits in 155126b..eeb5a83 2022-03-22 14:34:21 +0100 to 2022-04-11 23:29:48 +0900 - method-lookup.md improvements (rust-lang/rustc-dev-guide#1296) - Consolidate crates.io convention section (rust-lang/rustc-dev-guide#1326) - Update examples with 1.61.0-nightly (latest version) (rust-lang/rustc-dev-guide#1330) - r-a: Use `python3 x.py` instead of `./x.py` (rust-lang/rustc-dev-guide#1335) - Update miri.md: correct a minor typo (rust-lang/rustc-dev-guide#1334) - Add example how lints can be feature gated
This PR assumes rust-lang/rust#92472 is merged.