Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upSemicolons are not required on some statements in macros #34543
Comments
This comment has been minimized.
This comment has been minimized.
|
Who knew that Rust had optional semicolon syntax built in‽ That must mean it's web scale! This is the best feature discovery since |
alexcrichton
added
I-nominated
T-compiler
labels
Jun 29, 2016
This comment has been minimized.
This comment has been minimized.
|
Nominating as this seems like it may actually be likely to cause fallout when fixed |
jseyfried
referenced this issue
Jul 5, 2016
Merged
Fix bugs in macro-expanded statement parsing #34660
This comment has been minimized.
This comment has been minimized.
|
I fixed this in #34660. |
This comment has been minimized.
This comment has been minimized.
dashed
commented
Jul 6, 2016
|
I'm unsure if this is related, but I'm getting these errors on nightly for compiling chomp library:
Build fail example: https://travis-ci.org/dashed/chomp/jobs/142891865 This is my attempted fix for this: dashed/chomp@9c62b9f which passes on nightly: https://travis-ci.org/dashed/chomp/builds/142892066 |
This comment has been minimized.
This comment has been minimized.
|
@dashed, yeah -- that is related. fn main() {
if true { 0 } else { 1 } + 2; // This is parsed as if there were a semicolon after the `}`
}However, after #34660 lands, you will be able to used a non-braced macro invocation at the start of an expression in a statement position (currently you can't do this in macro-expanded code but you can do it in unexpanded code). That is, after #34660, changing the |
pnkfelix
assigned
nrc
Jul 7, 2016
This comment has been minimized.
This comment has been minimized.
|
We are treating this as a bug that PR #34660 will fix. There are still some crater regressions to address. |
This comment has been minimized.
This comment has been minimized.
|
triage: p-high |
This comment has been minimized.
This comment has been minimized.
|
P-high |
jseyfried commentedJun 29, 2016
For example, this compiles: