Closed
Description
{ stringify!(bees).to_owned() }
foo.rs:5:27: 5:28 error: unexpected token: `.`
foo.rs:5 { stringify!(bees).to_owned() }
^
However, if you wrap the macro invocation in parens...
{ (stringify!(bees)).to_owned() }
...it works.
The tricky thing about this problem is that, when the parser sees stringify!
, it doesn't know whether it'll be a statement macro or an expression macro; currently, it commits to the former, which breaks if the invocation has to be an expression.