(&self, serializer: S)
| 163 | |
| 164 | impl Serialize for Build { |
| 165 | fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> |
| 166 | where |
| 167 | S: serde::Serializer, |
| 168 | { |
| 169 | use serde::ser::SerializeStruct; |
| 170 | |
| 171 | // Count how many fields we'll actually serialize |
| 172 | let field_count = self.output_format.is_some() as usize |
| 173 | + self.lambda_dir.is_some() as usize |
| 174 | + self.flatten.is_some() as usize |
| 175 | + self.compiler.is_some() as usize |
| 176 | + self.include.is_some() as usize |
| 177 | + self.arm64 as usize |
| 178 | + self.x86_64 as usize |
| 179 | + self.extension as usize |
| 180 | + self.internal as usize |
| 181 | + self.skip_target_check as usize |
| 182 | + self.disable_optimizations as usize |
| 183 | + self.cargo_opts.manifest_path.is_some() as usize |
| 184 | + self.cargo_opts.bins as usize |
| 185 | + !self.cargo_opts.bin.is_empty() as usize |
| 186 | + self.cargo_opts.examples as usize |
| 187 | + !self.cargo_opts.example.is_empty() as usize |
| 188 | + self.cargo_opts.all_targets as usize |
| 189 | + !self.cargo_opts.packages.is_empty() as usize |
| 190 | + self.cargo_opts.workspace as usize |
| 191 | + !self.cargo_opts.exclude.is_empty() as usize |
| 192 | + self.cargo_opts.tests as usize |
| 193 | + !self.cargo_opts.test.is_empty() as usize |
| 194 | + self.cargo_opts.benches as usize |
| 195 | + !self.cargo_opts.bench.is_empty() as usize |
| 196 | + count_common_options(&self.cargo_opts.common) |
| 197 | + self.env_options.count_fields(); |
| 198 | |
| 199 | let mut state = serializer.serialize_struct("Build", field_count)?; |
| 200 | |
| 201 | // Optional fields |
| 202 | if let Some(ref output_format) = self.output_format { |
| 203 | state.serialize_field("output_format", output_format)?; |
| 204 | } |
| 205 | if let Some(ref lambda_dir) = self.lambda_dir { |
| 206 | state.serialize_field("lambda_dir", lambda_dir)?; |
| 207 | } |
| 208 | if let Some(ref flatten) = self.flatten { |
| 209 | state.serialize_field("flatten", flatten)?; |
| 210 | } |
| 211 | if let Some(ref compiler) = self.compiler { |
| 212 | state.serialize_field("compiler", compiler)?; |
| 213 | } |
| 214 | if let Some(ref include) = self.include { |
| 215 | state.serialize_field("include", include)?; |
| 216 | } |
| 217 | |
| 218 | // Boolean fields |
| 219 | if self.arm64 { |
| 220 | state.serialize_field("arm64", &true)?; |
| 221 | } |
| 222 | if self.x86_64 { |
nothing calls this directly
no test coverage detected