@@ -46,3 +46,140 @@ LL |     let _ = #[allow(semicolon_in_expressions_from_macros)] foo!(allow_does_
4646
4747warning: 3 warnings emitted
4848
49+ Future incompatibility report: Future breakage diagnostic:
50+ warning: trailing semicolon in macro used in expression position
51+   --> $DIR/semicolon-in-expressions-from-macros.rs:9:13
52+    |
53+ LL |         true;
54+    |             ^
55+ ...
56+ LL |         foo!(first)
57+    |         ----------- in this macro invocation
58+    |
59+    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
60+    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
61+    = note: macro invocations at the end of a block are treated as expressions
62+    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `foo`
63+ note: the lint level is defined here
64+   --> $DIR/semicolon-in-expressions-from-macros.rs:24:13
65+    |
66+ LL |     #[allow(semicolon_in_expressions_from_macros)]
67+    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
68+    = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
69+ 
70+ Future breakage diagnostic:
71+ warning: trailing semicolon in macro used in expression position
72+   --> $DIR/semicolon-in-expressions-from-macros.rs:9:13
73+    |
74+ LL |         true;
75+    |             ^
76+ ...
77+ LL |     let _ = foo!(second);
78+    |             ------------ in this macro invocation
79+    |
80+    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
81+    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
82+ note: the lint level is defined here
83+   --> $DIR/semicolon-in-expressions-from-macros.rs:29:13
84+    |
85+ LL |     #[allow(semicolon_in_expressions_from_macros)]
86+    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
87+    = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
88+ 
89+ Future breakage diagnostic:
90+ warning: trailing semicolon in macro used in expression position
91+   --> $DIR/semicolon-in-expressions-from-macros.rs:9:13
92+    |
93+ LL |         true;
94+    |             ^
95+ ...
96+ LL |         let _ = foo!(third);
97+    |                 ----------- in this macro invocation
98+    |
99+    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
100+    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
101+ note: the lint level is defined here
102+   --> $DIR/semicolon-in-expressions-from-macros.rs:32:13
103+    |
104+ LL |     #[allow(semicolon_in_expressions_from_macros)]
105+    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
106+    = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
107+ 
108+ Future breakage diagnostic:
109+ warning: trailing semicolon in macro used in expression position
110+   --> $DIR/semicolon-in-expressions-from-macros.rs:9:13
111+    |
112+ LL |         true;
113+    |             ^
114+ ...
115+ LL |         let _ = foo!(fourth);
116+    |                 ------------ in this macro invocation
117+    |
118+    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
119+    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
120+ note: the lint level is defined here
121+   --> $DIR/semicolon-in-expressions-from-macros.rs:37:13
122+    |
123+ LL |     #[allow(semicolon_in_expressions_from_macros)]
124+    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
125+    = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
126+ 
127+ Future breakage diagnostic:
128+ warning: trailing semicolon in macro used in expression position
129+   --> $DIR/semicolon-in-expressions-from-macros.rs:9:13
130+    |
131+ LL |         true;
132+    |             ^
133+ ...
134+ LL |         foo!(warn_in_block)
135+    |         ------------------- in this macro invocation
136+    |
137+    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
138+    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
139+    = note: macro invocations at the end of a block are treated as expressions
140+    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `foo`
141+ note: the lint level is defined here
142+   --> $DIR/semicolon-in-expressions-from-macros.rs:4:9
143+    |
144+ LL | #![warn(semicolon_in_expressions_from_macros)]
145+    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
146+    = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
147+ 
148+ Future breakage diagnostic:
149+ warning: trailing semicolon in macro used in expression position
150+   --> $DIR/semicolon-in-expressions-from-macros.rs:9:13
151+    |
152+ LL |         true;
153+    |             ^
154+ ...
155+ LL |     let _ = foo!(warn_in_expr);
156+    |             ------------------ in this macro invocation
157+    |
158+    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
159+    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
160+ note: the lint level is defined here
161+   --> $DIR/semicolon-in-expressions-from-macros.rs:4:9
162+    |
163+ LL | #![warn(semicolon_in_expressions_from_macros)]
164+    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
165+    = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
166+ 
167+ Future breakage diagnostic:
168+ warning: trailing semicolon in macro used in expression position
169+   --> $DIR/semicolon-in-expressions-from-macros.rs:9:13
170+    |
171+ LL |         true;
172+    |             ^
173+ ...
174+ LL |     let _ = #[allow(semicolon_in_expressions_from_macros)] foo!(allow_does_not_work);
175+    |                                                            ------------------------- in this macro invocation
176+    |
177+    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
178+    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
179+ note: the lint level is defined here
180+   --> $DIR/semicolon-in-expressions-from-macros.rs:4:9
181+    |
182+ LL | #![warn(semicolon_in_expressions_from_macros)]
183+    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
184+    = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)
185+ 
0 commit comments