1use crate::prelude::*;
2#[cfg(creusot)]
3use core::fmt::{Debug, Formatter, Result};
4
5extern_spec! {
6 impl<'a> Formatter<'a> {
7 fn write_str(&mut self, data: &str) -> Result;
8
9 fn debug_struct_field1_finish<'b>(
10 &'b mut self,
11 name: &str,
12 name1: &str,
13 value1: &dyn Debug,
14 ) -> Result;
15
16 fn debug_struct_field2_finish<'b>(
17 &'b mut self,
18 name: &str,
19 name1: &str,
20 value1: &dyn Debug,
21 name2: &str,
22 value2: &dyn Debug,
23 ) -> Result;
24
25 fn debug_struct_field3_finish<'b>(
26 &'b mut self,
27 name: &str,
28 name1: &str,
29 value1: &dyn Debug,
30 name2: &str,
31 value2: &dyn Debug,
32 name3: &str,
33 value3: &dyn Debug,
34 ) -> Result;
35
36 fn debug_struct_field4_finish<'b>(
37 &'b mut self,
38 name: &str,
39 name1: &str,
40 value1: &dyn Debug,
41 name2: &str,
42 value2: &dyn Debug,
43 name3: &str,
44 value3: &dyn Debug,
45 name4: &str,
46 value4: &dyn Debug,
47 ) -> Result;
48
49 fn debug_struct_field5_finish<'b>(
50 &'b mut self,
51 name: &str,
52 name1: &str,
53 value1: &dyn Debug,
54 name2: &str,
55 value2: &dyn Debug,
56 name3: &str,
57 value3: &dyn Debug,
58 name4: &str,
59 value4: &dyn Debug,
60 name5: &str,
61 value5: &dyn Debug,
62 ) -> Result;
63
64 fn debug_struct_fields_finish<'b>(
65 &'b mut self,
66 name: &str,
67 names: &[&str],
68 values: &[&dyn Debug],
69 ) -> Result;
70
71 fn debug_tuple_field1_finish<'b>(
72 &'b mut self,
73 name: &str,
74 value1: &dyn Debug,
75 ) -> Result;
76
77 fn debug_tuple_field2_finish<'b>(
78 &'b mut self,
79 name: &str,
80 value1: &dyn Debug,
81 value2: &dyn Debug,
82 ) -> Result;
83
84 fn debug_tuple_field3_finish<'b>(
85 &'b mut self,
86 name: &str,
87 value1: &dyn Debug,
88 value2: &dyn Debug,
89 value3: &dyn Debug,
90 ) -> Result;
91
92 fn debug_tuple_field4_finish<'b>(
93 &'b mut self,
94 name: &str,
95 value1: &dyn Debug,
96 value2: &dyn Debug,
97 value3: &dyn Debug,
98 value4: &dyn Debug,
99 ) -> Result;
100
101 fn debug_tuple_field5_finish<'b>(
102 &'b mut self,
103 name: &str,
104 value1: &dyn Debug,
105 value2: &dyn Debug,
106 value3: &dyn Debug,
107 value4: &dyn Debug,
108 value5: &dyn Debug,
109 ) -> Result;
110
111 fn debug_tuple_fields_finish<'b>(
112 &'b mut self,
113 name: &str,
114 values: &[&dyn Debug],
115 ) -> Result;
116 }
117
118 impl<'a> core::fmt::Arguments<'a> {
119 #[check(ghost)]
120 fn from_str(s: &'static str) -> Self;
121 }
122}