@@ -308,7 +308,7 @@ const impl<'f> Drop for VaList<'f> {
308308// types with a non-scalar layout. Inline assembly can be used to accept unsupported types in the
309309// meantime.
310310#[ lang = "va_arg_safe" ]
311- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
311+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
312312#[ rustc_dyn_incompatible_trait]
313313pub impl( self ) unsafe trait VaArgSafe { }
314314
@@ -318,9 +318,9 @@ crate::cfg_select! {
318318 //
319319 // - i8 is implicitly promoted to c_int in C, and cannot implement `VaArgSafe`.
320320 // - u8 is implicitly promoted to c_uint in C, and cannot implement `VaArgSafe`.
321- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
321+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
322322 unsafe impl VaArgSafe for i16 { }
323- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
323+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
324324 unsafe impl VaArgSafe for u16 { }
325325 }
326326 _ => {
@@ -334,7 +334,7 @@ crate::cfg_select! {
334334crate :: cfg_select! {
335335 target_arch = "avr" => {
336336 // c_double is f32 on this target.
337- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
337+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
338338 unsafe impl VaArgSafe for f32 { }
339339 }
340340 _ => {
@@ -344,18 +344,18 @@ crate::cfg_select! {
344344 }
345345}
346346
347- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
347+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
348348unsafe impl VaArgSafe for i32 { }
349- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
349+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
350350unsafe impl VaArgSafe for i64 { }
351- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
351+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
352352unsafe impl VaArgSafe for isize { }
353353
354- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
354+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
355355unsafe impl VaArgSafe for u32 { }
356- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
356+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
357357unsafe impl VaArgSafe for u64 { }
358- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
358+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
359359unsafe impl VaArgSafe for usize { }
360360
361361// Implement `VaArgSafe` for 128-bit integers on targets where clang provides `__int128`.
@@ -413,12 +413,12 @@ cfg_select! {
413413 }
414414}
415415
416- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
416+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
417417unsafe impl VaArgSafe for f64 { }
418418
419- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
419+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
420420unsafe impl < T > VaArgSafe for * mut T { }
421- #[ stable ( feature = "c_variadic " , since = "1.99.0 " ) ]
421+ #[ unstable ( feature = "c_variadic_va_arg_safe " , issue = "162911" , implied_by = "c_variadic ") ]
422422unsafe impl < T > VaArgSafe for * const T { }
423423
424424// Check that relevant `core::ffi` types implement `VaArgSafe`.
0 commit comments