@@ -24,12 +24,6 @@ use crate::ops::{Deref, DerefMut};
2424 windows,
2525) ) ]
2626#[ cfg_attr( not( doc) , repr( transparent) ) ] // work around https://github.com/rust-lang/rust/issues/90435
27- #[ unstable(
28- feature ="c_variadic" ,
29- reason ="the `c_variadic` feature has not been properly tested on\
30- all supported platforms",
31- issue ="44930"
32- ) ]
3327#[ lang ="va_list" ]
3428pub struct VaListImpl < ' f > {
3529ptr : * mut c_void ,
@@ -51,12 +45,6 @@ pub struct VaListImpl<'f> {
5145 target_os ="uefi" ,
5246 windows,
5347) ) ]
54- #[ unstable(
55- feature ="c_variadic" ,
56- reason ="the `c_variadic` feature has not been properly tested on\
57- all supported platforms",
58- issue ="44930"
59- ) ]
6048impl < ' f > fmt:: Debug for VaListImpl < ' f > {
6149fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
6250write ! ( f, "va_list* {:p}" , self . ptr)
@@ -76,12 +64,6 @@ impl<'f> fmt::Debug for VaListImpl<'f> {
7664) ) ]
7765#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
7866#[ derive( Debug ) ]
79- #[ unstable(
80- feature ="c_variadic" ,
81- reason ="the `c_variadic` feature has not been properly tested on\
82- all supported platforms",
83- issue ="44930"
84- ) ]
8567#[ lang ="va_list" ]
8668pub struct VaListImpl < ' f > {
8769stack : * mut c_void ,
@@ -96,12 +78,6 @@ pub struct VaListImpl<'f> {
9678#[ cfg( all( target_arch ="powerpc" , not( target_os ="uefi" ) , not( windows) ) ) ]
9779#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
9880#[ derive( Debug ) ]
99- #[ unstable(
100- feature ="c_variadic" ,
101- reason ="the `c_variadic` feature has not been properly tested on\
102- all supported platforms",
103- issue ="44930"
104- ) ]
10581#[ lang ="va_list" ]
10682pub struct VaListImpl < ' f > {
10783gpr : u8 ,
@@ -116,12 +92,6 @@ pub struct VaListImpl<'f> {
11692#[ cfg( target_arch ="s390x" ) ]
11793#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
11894#[ derive( Debug ) ]
119- #[ unstable(
120- feature ="c_variadic" ,
121- reason ="the `c_variadic` feature has not been properly tested on\
122- all supported platforms",
123- issue ="44930"
124- ) ]
12595#[ lang ="va_list" ]
12696pub struct VaListImpl < ' f > {
12797gpr : i64 ,
@@ -135,12 +105,6 @@ pub struct VaListImpl<'f> {
135105#[ cfg( all( target_arch ="x86_64" , not( target_os ="uefi" ) , not( windows) ) ) ]
136106#[ cfg_attr( not( doc) , repr( C ) ) ] // work around https://github.com/rust-lang/rust/issues/66401
137107#[ derive( Debug ) ]
138- #[ unstable(
139- feature ="c_variadic" ,
140- reason ="the `c_variadic` feature has not been properly tested on\
141- all supported platforms",
142- issue ="44930"
143- ) ]
144108#[ lang ="va_list" ]
145109pub struct VaListImpl < ' f > {
146110gp_offset : i32 ,
@@ -153,12 +117,6 @@ pub struct VaListImpl<'f> {
153117/// A wrapper for a `va_list`
154118#[ cfg_attr( not( doc) , repr( transparent) ) ] // work around https://github.com/rust-lang/rust/issues/90435
155119#[ derive( Debug ) ]
156- #[ unstable(
157- feature ="c_variadic" ,
158- reason ="the `c_variadic` feature has not been properly tested on\
159- all supported platforms",
160- issue ="44930"
161- ) ]
162120pub struct VaList < ' a , ' f : ' a > {
163121#[ cfg( any(
164122 all(
@@ -203,12 +161,6 @@ pub struct VaList<'a, 'f: 'a> {
203161 target_os ="uefi" ,
204162 windows,
205163) ) ]
206- #[ unstable(
207- feature ="c_variadic" ,
208- reason ="the `c_variadic` feature has not been properly tested on\
209- all supported platforms",
210- issue ="44930"
211- ) ]
212164impl < ' f > VaListImpl < ' f > {
213165/// Convert a `VaListImpl` into a `VaList` that is binary-compatible with C's `va_list`.
214166#[ inline]
@@ -229,12 +181,6 @@ impl<'f> VaListImpl<'f> {
229181 not( target_os ="uefi" ) ,
230182 not( windows) ,
231183) ) ]
232- #[ unstable(
233- feature ="c_variadic" ,
234- reason ="the `c_variadic` feature has not been properly tested on\
235- all supported platforms",
236- issue ="44930"
237- ) ]
238184impl < ' f > VaListImpl < ' f > {
239185/// Convert a `VaListImpl` into a `VaList` that is binary-compatible with C's `va_list`.
240186#[ inline]
@@ -243,12 +189,6 @@ impl<'f> VaListImpl<'f> {
243189}
244190}
245191
246- #[ unstable(
247- feature ="c_variadic" ,
248- reason ="the `c_variadic` feature has not been properly tested on\
249- all supported platforms",
250- issue ="44930"
251- ) ]
252192impl < ' a , ' f : ' a > Deref for VaList < ' a , ' f > {
253193type Target =VaListImpl < ' f > ;
254194
@@ -258,12 +198,6 @@ impl<'a, 'f: 'a> Deref for VaList<'a, 'f> {
258198}
259199}
260200
261- #[ unstable(
262- feature ="c_variadic" ,
263- reason ="the `c_variadic` feature has not been properly tested on\
264- all supported platforms",
265- issue ="44930"
266- ) ]
267201impl < ' a , ' f : ' a > DerefMut for VaList < ' a , ' f > {
268202#[ inline]
269203fn deref_mut ( & mut self ) ->& mut VaListImpl < ' f > {
@@ -282,22 +216,12 @@ impl<'a, 'f: 'a> DerefMut for VaList<'a, 'f> {
282216// improving this.
283217mod sealed_trait{
284218/// Trait which permits the allowed types to be used with [super::VaListImpl::arg].
285- #[ unstable(
286- feature ="c_variadic" ,
287- reason ="the `c_variadic` feature has not been properly tested on\
288- all supported platforms",
289- issue ="44930"
290- ) ]
291219pub unsafe trait VaArgSafe { }
292220}
293221
294222macro_rules! impl_va_arg_safe{
295223( $( $t: ty) ,+) =>{
296224 $(
297- #[ unstable( feature ="c_variadic" ,
298- reason ="the `c_variadic` feature has not been properly tested on\
299- all supported platforms",
300- issue ="44930" ) ]
301225unsafe impl sealed_trait:: VaArgSafe for $t{ }
302226) +
303227}
@@ -307,27 +231,9 @@ impl_va_arg_safe! {i8, i16, i32, i64, usize}
307231impl_va_arg_safe ! { u8 , u16 , u32 , u64 , isize }
308232impl_va_arg_safe ! { f64 }
309233
310- #[ unstable(
311- feature ="c_variadic" ,
312- reason ="the `c_variadic` feature has not been properly tested on\
313- all supported platforms",
314- issue ="44930"
315- ) ]
316234unsafe impl < T > sealed_trait:: VaArgSafe for * mut T { }
317- #[ unstable(
318- feature ="c_variadic" ,
319- reason ="the `c_variadic` feature has not been properly tested on\
320- all supported platforms",
321- issue ="44930"
322- ) ]
323235unsafe impl < T > sealed_trait:: VaArgSafe for * const T { }
324236
325- #[ unstable(
326- feature ="c_variadic" ,
327- reason ="the `c_variadic` feature has not been properly tested on\
328- all supported platforms",
329- issue ="44930"
330- ) ]
331237impl < ' f > VaListImpl < ' f > {
332238/// Advance to the next arg.
333239#[ inline]
@@ -351,12 +257,6 @@ impl<'f> VaListImpl<'f> {
351257}
352258}
353259
354- #[ unstable(
355- feature ="c_variadic" ,
356- reason ="the `c_variadic` feature has not been properly tested on\
357- all supported platforms",
358- issue ="44930"
359- ) ]
360260impl < ' f > Clone for VaListImpl < ' f > {
361261#[ inline]
362262fn clone ( & self ) ->Self {
@@ -369,12 +269,6 @@ impl<'f> Clone for VaListImpl<'f> {
369269}
370270}
371271
372- #[ unstable(
373- feature ="c_variadic" ,
374- reason ="the `c_variadic` feature has not been properly tested on\
375- all supported platforms",
376- issue ="44930"
377- ) ]
378272impl < ' f > Drop for VaListImpl < ' f > {
379273fn drop ( & mut self ) {
380274// FIXME: this should call `va_end`, but there's no clean way to