@@ -21,12 +21,6 @@ use crate::ops::{Deref, DerefMut};
2121 windows,
2222) ) ]
2323#[ 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- ) ]
3024#[ lang ="va_list" ]
3125pub struct VaListImpl < ' f > {
3226ptr : * mut c_void ,
@@ -48,12 +42,6 @@ pub struct VaListImpl<'f> {
4842 target_os ="uefi" ,
4943 windows,
5044) ) ]
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- ) ]
5745impl < ' f > fmt:: Debug for VaListImpl < ' f > {
5846fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
5947write ! ( f, "va_list* {:p}" , self . ptr)
@@ -73,12 +61,6 @@ impl<'f> fmt::Debug for VaListImpl<'f> {
7361) ) ]
7462#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
7563#[ 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- ) ]
8264#[ lang ="va_list" ]
8365pub struct VaListImpl < ' f > {
8466stack : * mut c_void ,
@@ -93,12 +75,6 @@ pub struct VaListImpl<'f> {
9375#[ cfg( all( target_arch ="powerpc" , not( target_os ="uefi" ) , not( windows) ) ) ]
9476#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
9577#[ 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- ) ]
10278#[ lang ="va_list" ]
10379pub struct VaListImpl < ' f > {
10480gpr : u8 ,
@@ -113,12 +89,6 @@ pub struct VaListImpl<'f> {
11389#[ cfg( target_arch ="s390x" ) ]
11490#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
11591#[ 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- ) ]
12292#[ lang ="va_list" ]
12393pub struct VaListImpl < ' f > {
12494gpr : i64 ,
@@ -132,12 +102,6 @@ pub struct VaListImpl<'f> {
132102#[ cfg( all( target_arch ="x86_64" , not( target_os ="uefi" ) , not( windows) ) ) ]
133103#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
134104#[ 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- ) ]
141105#[ lang ="va_list" ]
142106pub struct VaListImpl < ' f > {
143107gp_offset : i32 ,
@@ -150,12 +114,6 @@ pub struct VaListImpl<'f> {
150114/// A wrapper for a `va_list`
151115#[ cfg_attr( not( doc) , repr( transparent) ) ] // work around https://github.com/rust-lang/rust/issues/90435
152116#[ 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- ) ]
159117pub struct VaList < ' a , ' f : ' a > {
160118#[ cfg( any(
161119 all(
@@ -200,12 +158,6 @@ pub struct VaList<'a, 'f: 'a> {
200158 target_os ="uefi" ,
201159 windows,
202160) ) ]
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- ) ]
209161impl < ' f > VaListImpl < ' f > {
210162/// Convert a `VaListImpl` into a `VaList` that is binary-compatible with C's `va_list`.
211163#[ inline]
@@ -226,12 +178,6 @@ impl<'f> VaListImpl<'f> {
226178 not( target_os ="uefi" ) ,
227179 not( windows) ,
228180) ) ]
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- ) ]
235181impl < ' f > VaListImpl < ' f > {
236182/// Convert a `VaListImpl` into a `VaList` that is binary-compatible with C's `va_list`.
237183#[ inline]
@@ -240,12 +186,6 @@ impl<'f> VaListImpl<'f> {
240186}
241187}
242188
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- ) ]
249189impl < ' a , ' f : ' a > Deref for VaList < ' a , ' f > {
250190type Target =VaListImpl < ' f > ;
251191
@@ -255,12 +195,6 @@ impl<'a, 'f: 'a> Deref for VaList<'a, 'f> {
255195}
256196}
257197
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- ) ]
264198impl < ' a , ' f : ' a > DerefMut for VaList < ' a , ' f > {
265199#[ inline]
266200fn deref_mut ( & mut self ) ->& mut VaListImpl < ' f > {
@@ -279,22 +213,12 @@ impl<'a, 'f: 'a> DerefMut for VaList<'a, 'f> {
279213// improving this.
280214mod sealed_trait{
281215/// 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- ) ]
288216pub trait VaArgSafe { }
289217}
290218
291219macro_rules! impl_va_arg_safe{
292220( $( $t: ty) ,+) =>{
293221 $(
294- #[ unstable( feature ="c_variadic" ,
295- reason ="the `c_variadic` feature has not been properly tested on\
296- all supported platforms",
297- issue ="44930" ) ]
298222impl sealed_trait:: VaArgSafe for $t{ }
299223) +
300224}
@@ -304,27 +228,9 @@ impl_va_arg_safe! {i8, i16, i32, i64, usize}
304228impl_va_arg_safe ! { u8 , u16 , u32 , u64 , isize }
305229impl_va_arg_safe ! { f64 }
306230
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- ) ]
313231impl < 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- ) ]
320232impl < T > sealed_trait:: VaArgSafe for * const T { }
321233
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- ) ]
328234impl < ' f > VaListImpl < ' f > {
329235/// Advance to the next arg.
330236#[ inline]
@@ -348,12 +254,6 @@ impl<'f> VaListImpl<'f> {
348254}
349255}
350256
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- ) ]
357257impl < ' f > Clone for VaListImpl < ' f > {
358258#[ inline]
359259fn clone ( & self ) ->Self {
@@ -366,12 +266,6 @@ impl<'f> Clone for VaListImpl<'f> {
366266}
367267}
368268
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- ) ]
375269impl < ' f > Drop for VaListImpl < ' f > {
376270fn drop ( & mut self ) {
377271// FIXME: this should call `va_end`, but there's no clean way to