This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -815,6 +815,18 @@ pub enum Delimiter {
815815 /// "macro variable" `$var`. It is important to preserve operator priorities in cases like
816816 /// `$var * 3` where `$var` is `1 + 2`.
817817 /// Invisible delimiters might not survive roundtrip of a token stream through a string.
818+ ///
819+ /// <div class="warning">
820+ ///
821+ /// Note: rustc currently can ignore the grouping of tokens delimited by `None` in the output
822+ /// of a proc_macro. Only `None`-delimited groups created by a macro_rules macro in the input
823+ /// of a proc_macro macro are preserved, and only in very specific circumstances.
824+ /// Any `None`-delimited groups (re)created by a proc_macro will therefore not preserve
825+ /// operator priorities as indicated above. The other `Delimiter` variants should be used
826+ /// instead in this context. This is a rustc bug. For details, see
827+ /// [rust-lang/rust#67062](https://github.com/rust-lang/rust/issues/67062).
828+ ///
829+ /// </div>
818830 #[ stable( feature = "proc_macro_lib2" , since = "1.29.0" ) ]
819831 None ,
820832}
You can’t perform that action at this time.
0 commit comments