@@ -76,131 +76,172 @@ error: only foreign or `unsafe extern "C"` functions may be C-variadic
7676LL | extern "C" fn f3_3(..., x: isize) {}
7777 | ^^^
7878
79+ error: functions cannot be both `const` and C-variadic
80+ --> $DIR/variadic-ffi-semantic-restrictions.rs:35:1
81+ |
82+ LL | const unsafe extern "C" fn f4_1(x: isize, ...) {}
83+ | ^^^^^ `const` because of this ^^^ C-variadic because of this
84+
85+ error: functions cannot be both `const` and C-variadic
86+ --> $DIR/variadic-ffi-semantic-restrictions.rs:38:1
87+ |
88+ LL | const extern "C" fn f4_2(x: isize, ...) {}
89+ | ^^^^^ `const` because of this ^^^ C-variadic because of this
90+
91+ error: only foreign or `unsafe extern "C"` functions may be C-variadic
92+ --> $DIR/variadic-ffi-semantic-restrictions.rs:38:36
93+ |
94+ LL | const extern "C" fn f4_2(x: isize, ...) {}
95+ | ^^^
96+
97+ error: `...` must be the last argument of a C-variadic function
98+ --> $DIR/variadic-ffi-semantic-restrictions.rs:42:26
99+ |
100+ LL | const extern "C" fn f4_3(..., x: isize, ...) {}
101+ | ^^^
102+
103+ error: functions cannot be both `const` and C-variadic
104+ --> $DIR/variadic-ffi-semantic-restrictions.rs:42:1
105+ |
106+ LL | const extern "C" fn f4_3(..., x: isize, ...) {}
107+ | ^^^^^ ^^^ ^^^ C-variadic because of this
108+ | | |
109+ | | C-variadic because of this
110+ | `const` because of this
111+
112+ error: only foreign or `unsafe extern "C"` functions may be C-variadic
113+ --> $DIR/variadic-ffi-semantic-restrictions.rs:42:26
114+ |
115+ LL | const extern "C" fn f4_3(..., x: isize, ...) {}
116+ | ^^^ ^^^
117+
79118error: C-variadic function must be declared with at least one named argument
80- --> $DIR/variadic-ffi-semantic-restrictions.rs:36 :13
119+ --> $DIR/variadic-ffi-semantic-restrictions.rs:48 :13
81120 |
82121LL | fn e_f1(...);
83122 | ^^^
84123
85124error: `...` must be the last argument of a C-variadic function
86- --> $DIR/variadic-ffi-semantic-restrictions.rs:38 :13
125+ --> $DIR/variadic-ffi-semantic-restrictions.rs:50 :13
87126 |
88127LL | fn e_f2(..., x: isize);
89128 | ^^^
90129
91130error: only foreign or `unsafe extern "C"` functions may be C-variadic
92- --> $DIR/variadic-ffi-semantic-restrictions.rs:45 :23
131+ --> $DIR/variadic-ffi-semantic-restrictions.rs:57 :23
93132 |
94133LL | fn i_f1(x: isize, ...) {}
95134 | ^^^
96135
97136error: C-variadic function must be declared with at least one named argument
98- --> $DIR/variadic-ffi-semantic-restrictions.rs:47 :13
137+ --> $DIR/variadic-ffi-semantic-restrictions.rs:59 :13
99138 |
100139LL | fn i_f2(...) {}
101140 | ^^^
102141
103142error: only foreign or `unsafe extern "C"` functions may be C-variadic
104- --> $DIR/variadic-ffi-semantic-restrictions.rs:47 :13
143+ --> $DIR/variadic-ffi-semantic-restrictions.rs:59 :13
105144 |
106145LL | fn i_f2(...) {}
107146 | ^^^
108147
109148error: `...` must be the last argument of a C-variadic function
110- --> $DIR/variadic-ffi-semantic-restrictions.rs:50:13
111- |
112- LL | fn i_f3(..., x: isize, ...) {}
113- | ^^^
114-
115- error: only foreign or `unsafe extern "C"` functions may be C-variadic
116- --> $DIR/variadic-ffi-semantic-restrictions.rs:50:13
149+ --> $DIR/variadic-ffi-semantic-restrictions.rs:62:13
117150 |
118151LL | fn i_f3(..., x: isize, ...) {}
119152 | ^^^
120153
121154error: only foreign or `unsafe extern "C"` functions may be C-variadic
122- --> $DIR/variadic-ffi-semantic-restrictions.rs:50:28
155+ --> $DIR/variadic-ffi-semantic-restrictions.rs:62:13
123156 |
124157LL | fn i_f3(..., x: isize, ...) {}
125- | ^^^
158+ | ^^^ ^^^
126159
127160error: `...` must be the last argument of a C-variadic function
128- --> $DIR/variadic-ffi-semantic-restrictions.rs:54 :13
161+ --> $DIR/variadic-ffi-semantic-restrictions.rs:65 :13
129162 |
130163LL | fn i_f4(..., x: isize, ...) {}
131164 | ^^^
132165
133166error: only foreign or `unsafe extern "C"` functions may be C-variadic
134- --> $DIR/variadic-ffi-semantic-restrictions.rs:54 :13
167+ --> $DIR/variadic-ffi-semantic-restrictions.rs:65 :13
135168 |
136169LL | fn i_f4(..., x: isize, ...) {}
137- | ^^^
170+ | ^^^ ^^^
171+
172+ error: functions cannot be both `const` and C-variadic
173+ --> $DIR/variadic-ffi-semantic-restrictions.rs:68:5
174+ |
175+ LL | const fn i_f5(x: isize, ...) {}
176+ | ^^^^^ ^^^ C-variadic because of this
177+ | |
178+ | `const` because of this
138179
139180error: only foreign or `unsafe extern "C"` functions may be C-variadic
140- --> $DIR/variadic-ffi-semantic-restrictions.rs:54:28
181+ --> $DIR/variadic-ffi-semantic-restrictions.rs:68:29
141182 |
142- LL | fn i_f4(..., x: isize, ...) {}
143- | ^^^
183+ LL | const fn i_f5( x: isize, ...) {}
184+ | ^^^
144185
145186error: only foreign or `unsafe extern "C"` functions may be C-variadic
146- --> $DIR/variadic-ffi-semantic-restrictions.rs:61 :23
187+ --> $DIR/variadic-ffi-semantic-restrictions.rs:74 :23
147188 |
148189LL | fn t_f1(x: isize, ...) {}
149190 | ^^^
150191
151192error: only foreign or `unsafe extern "C"` functions may be C-variadic
152- --> $DIR/variadic-ffi-semantic-restrictions.rs:63 :23
193+ --> $DIR/variadic-ffi-semantic-restrictions.rs:76 :23
153194 |
154195LL | fn t_f2(x: isize, ...);
155196 | ^^^
156197
157198error: C-variadic function must be declared with at least one named argument
158- --> $DIR/variadic-ffi-semantic-restrictions.rs:65 :13
199+ --> $DIR/variadic-ffi-semantic-restrictions.rs:78 :13
159200 |
160201LL | fn t_f3(...) {}
161202 | ^^^
162203
163204error: only foreign or `unsafe extern "C"` functions may be C-variadic
164- --> $DIR/variadic-ffi-semantic-restrictions.rs:65 :13
205+ --> $DIR/variadic-ffi-semantic-restrictions.rs:78 :13
165206 |
166207LL | fn t_f3(...) {}
167208 | ^^^
168209
169210error: C-variadic function must be declared with at least one named argument
170- --> $DIR/variadic-ffi-semantic-restrictions.rs:68 :13
211+ --> $DIR/variadic-ffi-semantic-restrictions.rs:81 :13
171212 |
172213LL | fn t_f4(...);
173214 | ^^^
174215
175216error: only foreign or `unsafe extern "C"` functions may be C-variadic
176- --> $DIR/variadic-ffi-semantic-restrictions.rs:68 :13
217+ --> $DIR/variadic-ffi-semantic-restrictions.rs:81 :13
177218 |
178219LL | fn t_f4(...);
179220 | ^^^
180221
181222error: `...` must be the last argument of a C-variadic function
182- --> $DIR/variadic-ffi-semantic-restrictions.rs:71 :13
223+ --> $DIR/variadic-ffi-semantic-restrictions.rs:84 :13
183224 |
184225LL | fn t_f5(..., x: isize) {}
185226 | ^^^
186227
187228error: only foreign or `unsafe extern "C"` functions may be C-variadic
188- --> $DIR/variadic-ffi-semantic-restrictions.rs:71 :13
229+ --> $DIR/variadic-ffi-semantic-restrictions.rs:84 :13
189230 |
190231LL | fn t_f5(..., x: isize) {}
191232 | ^^^
192233
193234error: `...` must be the last argument of a C-variadic function
194- --> $DIR/variadic-ffi-semantic-restrictions.rs:74 :13
235+ --> $DIR/variadic-ffi-semantic-restrictions.rs:87 :13
195236 |
196237LL | fn t_f6(..., x: isize);
197238 | ^^^
198239
199240error: only foreign or `unsafe extern "C"` functions may be C-variadic
200- --> $DIR/variadic-ffi-semantic-restrictions.rs:74 :13
241+ --> $DIR/variadic-ffi-semantic-restrictions.rs:87 :13
201242 |
202243LL | fn t_f6(..., x: isize);
203244 | ^^^
204245
205- error: aborting due to 34 previous errors
246+ error: aborting due to 40 previous errors
206247
0 commit comments