@@ -21,12 +21,6 @@ use crate::ops::{Deref, DerefMut};
21
21
windows,
22
22
) ) ]
23
23
#[ cfg_attr( not( doc) , repr( transparent) ) ] // work around https://github.com/rust-lang/rust/issues/90435
24
- #[ unstable(
25
- feature = "c_variadic" ,
26
- reason = "the `c_variadic` feature has not been properly tested on \
27
- all supported platforms",
28
- issue = "44930"
29
- ) ]
30
24
#[ lang = "va_list" ]
31
25
pub struct VaListImpl < ' f > {
32
26
ptr : * mut c_void ,
@@ -48,12 +42,6 @@ pub struct VaListImpl<'f> {
48
42
target_os = "uefi" ,
49
43
windows,
50
44
) ) ]
51
- #[ unstable(
52
- feature = "c_variadic" ,
53
- reason = "the `c_variadic` feature has not been properly tested on \
54
- all supported platforms",
55
- issue = "44930"
56
- ) ]
57
45
impl < ' f > fmt:: Debug for VaListImpl < ' f > {
58
46
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
59
47
write ! ( f, "va_list* {:p}" , self . ptr)
@@ -73,12 +61,6 @@ impl<'f> fmt::Debug for VaListImpl<'f> {
73
61
) ) ]
74
62
#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
75
63
#[ derive( Debug ) ]
76
- #[ unstable(
77
- feature = "c_variadic" ,
78
- reason = "the `c_variadic` feature has not been properly tested on \
79
- all supported platforms",
80
- issue = "44930"
81
- ) ]
82
64
#[ lang = "va_list" ]
83
65
pub struct VaListImpl < ' f > {
84
66
stack : * mut c_void ,
@@ -93,12 +75,6 @@ pub struct VaListImpl<'f> {
93
75
#[ cfg( all( target_arch = "powerpc" , not( target_os = "uefi" ) , not( windows) ) ) ]
94
76
#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
95
77
#[ derive( Debug ) ]
96
- #[ unstable(
97
- feature = "c_variadic" ,
98
- reason = "the `c_variadic` feature has not been properly tested on \
99
- all supported platforms",
100
- issue = "44930"
101
- ) ]
102
78
#[ lang = "va_list" ]
103
79
pub struct VaListImpl < ' f > {
104
80
gpr : u8 ,
@@ -113,12 +89,6 @@ pub struct VaListImpl<'f> {
113
89
#[ cfg( target_arch = "s390x" ) ]
114
90
#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
115
91
#[ derive( Debug ) ]
116
- #[ unstable(
117
- feature = "c_variadic" ,
118
- reason = "the `c_variadic` feature has not been properly tested on \
119
- all supported platforms",
120
- issue = "44930"
121
- ) ]
122
92
#[ lang = "va_list" ]
123
93
pub struct VaListImpl < ' f > {
124
94
gpr : i64 ,
@@ -132,12 +102,6 @@ pub struct VaListImpl<'f> {
132
102
#[ cfg( all( target_arch = "x86_64" , not( target_os = "uefi" ) , not( windows) ) ) ]
133
103
#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
134
104
#[ derive( Debug ) ]
135
- #[ unstable(
136
- feature = "c_variadic" ,
137
- reason = "the `c_variadic` feature has not been properly tested on \
138
- all supported platforms",
139
- issue = "44930"
140
- ) ]
141
105
#[ lang = "va_list" ]
142
106
pub struct VaListImpl < ' f > {
143
107
gp_offset : i32 ,
@@ -150,12 +114,6 @@ pub struct VaListImpl<'f> {
150
114
/// A wrapper for a `va_list`
151
115
#[ cfg_attr( not( doc) , repr( transparent) ) ] // work around https://github.com/rust-lang/rust/issues/90435
152
116
#[ derive( Debug ) ]
153
- #[ unstable(
154
- feature = "c_variadic" ,
155
- reason = "the `c_variadic` feature has not been properly tested on \
156
- all supported platforms",
157
- issue = "44930"
158
- ) ]
159
117
pub struct VaList < ' a , ' f : ' a > {
160
118
#[ cfg( any(
161
119
all(
@@ -200,12 +158,6 @@ pub struct VaList<'a, 'f: 'a> {
200
158
target_os = "uefi" ,
201
159
windows,
202
160
) ) ]
203
- #[ unstable(
204
- feature = "c_variadic" ,
205
- reason = "the `c_variadic` feature has not been properly tested on \
206
- all supported platforms",
207
- issue = "44930"
208
- ) ]
209
161
impl < ' f > VaListImpl < ' f > {
210
162
/// Convert a `VaListImpl` into a `VaList` that is binary-compatible with C's `va_list`.
211
163
#[ inline]
@@ -226,12 +178,6 @@ impl<'f> VaListImpl<'f> {
226
178
not( target_os = "uefi" ) ,
227
179
not( windows) ,
228
180
) ) ]
229
- #[ unstable(
230
- feature = "c_variadic" ,
231
- reason = "the `c_variadic` feature has not been properly tested on \
232
- all supported platforms",
233
- issue = "44930"
234
- ) ]
235
181
impl < ' f > VaListImpl < ' f > {
236
182
/// Convert a `VaListImpl` into a `VaList` that is binary-compatible with C's `va_list`.
237
183
#[ inline]
@@ -240,12 +186,6 @@ impl<'f> VaListImpl<'f> {
240
186
}
241
187
}
242
188
243
- #[ unstable(
244
- feature = "c_variadic" ,
245
- reason = "the `c_variadic` feature has not been properly tested on \
246
- all supported platforms",
247
- issue = "44930"
248
- ) ]
249
189
impl < ' a , ' f : ' a > Deref for VaList < ' a , ' f > {
250
190
type Target = VaListImpl < ' f > ;
251
191
@@ -255,12 +195,6 @@ impl<'a, 'f: 'a> Deref for VaList<'a, 'f> {
255
195
}
256
196
}
257
197
258
- #[ unstable(
259
- feature = "c_variadic" ,
260
- reason = "the `c_variadic` feature has not been properly tested on \
261
- all supported platforms",
262
- issue = "44930"
263
- ) ]
264
198
impl < ' a , ' f : ' a > DerefMut for VaList < ' a , ' f > {
265
199
#[ inline]
266
200
fn deref_mut ( & mut self ) -> & mut VaListImpl < ' f > {
@@ -279,22 +213,12 @@ impl<'a, 'f: 'a> DerefMut for VaList<'a, 'f> {
279
213
// improving this.
280
214
mod sealed_trait {
281
215
/// Trait which permits the allowed types to be used with [super::VaListImpl::arg].
282
- #[ unstable(
283
- feature = "c_variadic" ,
284
- reason = "the `c_variadic` feature has not been properly tested on \
285
- all supported platforms",
286
- issue = "44930"
287
- ) ]
288
216
pub trait VaArgSafe { }
289
217
}
290
218
291
219
macro_rules! impl_va_arg_safe {
292
220
( $( $t: ty) ,+) => {
293
221
$(
294
- #[ unstable( feature = "c_variadic" ,
295
- reason = "the `c_variadic` feature has not been properly tested on \
296
- all supported platforms",
297
- issue = "44930" ) ]
298
222
impl sealed_trait:: VaArgSafe for $t { }
299
223
) +
300
224
}
@@ -304,27 +228,9 @@ impl_va_arg_safe! {i8, i16, i32, i64, usize}
304
228
impl_va_arg_safe ! { u8 , u16 , u32 , u64 , isize }
305
229
impl_va_arg_safe ! { f64 }
306
230
307
- #[ unstable(
308
- feature = "c_variadic" ,
309
- reason = "the `c_variadic` feature has not been properly tested on \
310
- all supported platforms",
311
- issue = "44930"
312
- ) ]
313
231
impl < T > sealed_trait:: VaArgSafe for * mut T { }
314
- #[ unstable(
315
- feature = "c_variadic" ,
316
- reason = "the `c_variadic` feature has not been properly tested on \
317
- all supported platforms",
318
- issue = "44930"
319
- ) ]
320
232
impl < T > sealed_trait:: VaArgSafe for * const T { }
321
233
322
- #[ unstable(
323
- feature = "c_variadic" ,
324
- reason = "the `c_variadic` feature has not been properly tested on \
325
- all supported platforms",
326
- issue = "44930"
327
- ) ]
328
234
impl < ' f > VaListImpl < ' f > {
329
235
/// Advance to the next arg.
330
236
#[ inline]
@@ -348,12 +254,6 @@ impl<'f> VaListImpl<'f> {
348
254
}
349
255
}
350
256
351
- #[ unstable(
352
- feature = "c_variadic" ,
353
- reason = "the `c_variadic` feature has not been properly tested on \
354
- all supported platforms",
355
- issue = "44930"
356
- ) ]
357
257
impl < ' f > Clone for VaListImpl < ' f > {
358
258
#[ inline]
359
259
fn clone ( & self ) -> Self {
@@ -366,12 +266,6 @@ impl<'f> Clone for VaListImpl<'f> {
366
266
}
367
267
}
368
268
369
- #[ unstable(
370
- feature = "c_variadic" ,
371
- reason = "the `c_variadic` feature has not been properly tested on \
372
- all supported platforms",
373
- issue = "44930"
374
- ) ]
375
269
impl < ' f > Drop for VaListImpl < ' f > {
376
270
fn drop ( & mut self ) {
377
271
// FIXME: this should call `va_end`, but there's no clean way to
0 commit comments