1use std::collections::BTreeMap;
2use std::str::FromStr;
3
4use rustc_abi::{Align, AlignFromBytesError};
5
6use super::crt_objects::CrtObjects;
7use super::{
8 Abi, Arch, BinaryFormat, CodeModel, DebuginfoKind, Env, FloatAbi, FramePointer, LinkArgsCli,
9 LinkSelfContainedComponents, LinkSelfContainedDefault, LinkerFlavorCli, LldFlavor,
10 MergeFunctions, Os, PanicStrategy, RelocModel, RelroLevel, RustcAbi, SanitizerSet,
11 SmallDataThresholdSupport, SplitDebuginfo, StackProbeType, StaticCow, SymbolVisibility, Target,
12 TargetKind, TargetOptions, TargetWarnings, TlsModel,
13};
14use crate::json::{Json, ToJson};
15use crate::spec::AbiMap;
16
17impl Target {
18 pub fn from_json(json: &str) -> Result<(Target, TargetWarnings), String> {
20 let json_deserializer = &mut serde_json::Deserializer::from_str(json);
21
22 let json: TargetSpecJson =
23 serde_path_to_error::deserialize(json_deserializer).map_err(|err| err.to_string())?;
24
25 let mut base = Target {
26 llvm_target: json.llvm_target,
27 metadata: Default::default(),
28 pointer_width: json.target_pointer_width,
29 data_layout: json.data_layout,
30 arch: json.arch,
31 options: Default::default(),
32 };
33
34 if let Some(metadata) = json.metadata {
38 base.metadata.description = metadata.description;
39 base.metadata.tier = metadata.tier.filter(|tier| (1..=3).contains(tier));
40 base.metadata.host_tools = metadata.host_tools;
41 base.metadata.std = metadata.std;
42 }
43
44 let alignment_error = |field_name: &str, error: AlignFromBytesError| -> String {
45 let msg = match error {
46 AlignFromBytesError::NotPowerOfTwo(_) => "not a power of 2 number of bytes",
47 AlignFromBytesError::TooLarge(_) => "too large",
48 };
49 ::alloc::__export::must_use({
::alloc::fmt::format(format_args!("`{0}` bits is not a valid value for {1}: {2}",
error.align() * 8, field_name, msg))
})format!("`{}` bits is not a valid value for {field_name}: {msg}", error.align() * 8)
50 };
51
52 macro_rules! forward {
53 ($name:ident) => {
54 if let Some($name) = json.$name {
55 base.$name = $name;
56 }
57 };
58 }
59 macro_rules! forward_opt {
60 ($name:ident) => {
61 if let Some($name) = json.$name {
62 base.$name = Some($name);
63 }
64 };
65 }
66
67 if let Some(target_endian) = json.target_endian {
68 base.endian = target_endian.0;
69 }
70
71 if let Some(frame_pointer) = json.frame_pointer {
base.frame_pointer = frame_pointer;
};forward!(frame_pointer);
72 if let Some(c_int_width) = json.c_int_width {
base.c_int_width = c_int_width;
};forward!(c_int_width);
73 if let Some(c_enum_min_bits) = json.c_enum_min_bits {
base.c_enum_min_bits = Some(c_enum_min_bits);
};forward_opt!(c_enum_min_bits); if let Some(os) = json.os { base.os = os; };forward!(os);
75 if let Some(env) = json.env { base.env = env; };forward!(env);
76 if let Some(abi) = json.abi { base.abi = abi; };forward!(abi);
77 if let Some(vendor) = json.vendor { base.vendor = vendor; };forward!(vendor);
78 if let Some(linker) = json.linker { base.linker = Some(linker); };forward_opt!(linker);
79 if let Some(linker_flavor_json) = json.linker_flavor_json {
base.linker_flavor_json = linker_flavor_json;
};forward!(linker_flavor_json);
80 if let Some(lld_flavor_json) = json.lld_flavor_json {
base.lld_flavor_json = lld_flavor_json;
};forward!(lld_flavor_json);
81 if let Some(linker_is_gnu_json) = json.linker_is_gnu_json {
base.linker_is_gnu_json = linker_is_gnu_json;
};forward!(linker_is_gnu_json);
82 if let Some(pre_link_objects) = json.pre_link_objects {
base.pre_link_objects = pre_link_objects;
};forward!(pre_link_objects);
83 if let Some(post_link_objects) = json.post_link_objects {
base.post_link_objects = post_link_objects;
};forward!(post_link_objects);
84 if let Some(pre_link_objects_self_contained) =
json.pre_link_objects_self_contained {
base.pre_link_objects_self_contained = pre_link_objects_self_contained;
};forward!(pre_link_objects_self_contained);
85 if let Some(post_link_objects_self_contained) =
json.post_link_objects_self_contained {
base.post_link_objects_self_contained = post_link_objects_self_contained;
};forward!(post_link_objects_self_contained);
86
87 if let Some(link_self_contained) = json.link_self_contained_backwards_compatible {
89 base.link_self_contained = link_self_contained;
90 }
91 if let Some(link_self_contained) = json.link_self_contained {
93 let components = link_self_contained
94 .components
95 .into_iter()
96 .fold(LinkSelfContainedComponents::empty(), |a, b| a | b);
97 base.link_self_contained = LinkSelfContainedDefault::WithComponents(components);
98 }
99
100 if let Some(pre_link_args_json) = json.pre_link_args_json {
base.pre_link_args_json = pre_link_args_json;
};forward!(pre_link_args_json);
101 if let Some(late_link_args_json) = json.late_link_args_json {
base.late_link_args_json = late_link_args_json;
};forward!(late_link_args_json);
102 if let Some(late_link_args_dynamic_json) = json.late_link_args_dynamic_json {
base.late_link_args_dynamic_json = late_link_args_dynamic_json;
};forward!(late_link_args_dynamic_json);
103 if let Some(late_link_args_static_json) = json.late_link_args_static_json {
base.late_link_args_static_json = late_link_args_static_json;
};forward!(late_link_args_static_json);
104 if let Some(post_link_args_json) = json.post_link_args_json {
base.post_link_args_json = post_link_args_json;
};forward!(post_link_args_json);
105 if let Some(link_script) = json.link_script {
base.link_script = Some(link_script);
};forward_opt!(link_script);
106
107 if let Some(link_env) = json.link_env {
108 for s in link_env {
109 if let [k, v] = *s.split('=').collect::<Vec<_>>() {
110 base.link_env.to_mut().push((k.to_string().into(), v.to_string().into()))
111 } else {
112 return Err(::alloc::__export::must_use({
::alloc::fmt::format(format_args!("link-env value \'{0}\' must be of the pattern \'KEY=VALUE\'",
s))
})format!("link-env value '{s}' must be of the pattern 'KEY=VALUE'"));
113 }
114 }
115 }
116
117 if let Some(link_env_remove) = json.link_env_remove {
base.link_env_remove = link_env_remove;
};forward!(link_env_remove);
118 if let Some(asm_args) = json.asm_args { base.asm_args = asm_args; };forward!(asm_args);
119 if let Some(cpu) = json.cpu { base.cpu = cpu; };forward!(cpu);
120 if let Some(need_explicit_cpu) = json.need_explicit_cpu {
base.need_explicit_cpu = need_explicit_cpu;
};forward!(need_explicit_cpu);
121 if let Some(features) = json.features { base.features = features; };forward!(features);
122 if let Some(dynamic_linking) = json.dynamic_linking {
base.dynamic_linking = dynamic_linking;
};forward!(dynamic_linking);
123 if let Some(direct_access_external_data) = json.direct_access_external_data {
base.direct_access_external_data = Some(direct_access_external_data);
};forward_opt!(direct_access_external_data);
124 if let Some(dll_tls_export) = json.dll_tls_export {
base.dll_tls_export = dll_tls_export;
};forward!(dll_tls_export);
125 if let Some(only_cdylib) = json.only_cdylib {
base.only_cdylib = only_cdylib;
};forward!(only_cdylib);
126 if let Some(executables) = json.executables {
base.executables = executables;
};forward!(executables);
127 if let Some(relocation_model) = json.relocation_model {
base.relocation_model = relocation_model;
};forward!(relocation_model);
128 if let Some(code_model) = json.code_model {
base.code_model = Some(code_model);
};forward_opt!(code_model);
129 if let Some(tls_model) = json.tls_model { base.tls_model = tls_model; };forward!(tls_model);
130 if let Some(disable_redzone) = json.disable_redzone {
base.disable_redzone = disable_redzone;
};forward!(disable_redzone);
131 if let Some(function_sections) = json.function_sections {
base.function_sections = function_sections;
};forward!(function_sections);
132 if let Some(dll_prefix) = json.dll_prefix { base.dll_prefix = dll_prefix; };forward!(dll_prefix);
133 if let Some(dll_suffix) = json.dll_suffix { base.dll_suffix = dll_suffix; };forward!(dll_suffix);
134 if let Some(exe_suffix) = json.exe_suffix { base.exe_suffix = exe_suffix; };forward!(exe_suffix);
135 if let Some(staticlib_prefix) = json.staticlib_prefix {
base.staticlib_prefix = staticlib_prefix;
};forward!(staticlib_prefix);
136 if let Some(staticlib_suffix) = json.staticlib_suffix {
base.staticlib_suffix = staticlib_suffix;
};forward!(staticlib_suffix);
137
138 if let Some(target_family) = json.target_family {
139 match target_family {
140 TargetFamiliesJson::Array(families) => base.families = families,
141 TargetFamiliesJson::String(family) => base.families = <[_]>::into_vec(::alloc::boxed::box_new([family]))vec![family].into(),
142 }
143 }
144
145 if let Some(abi_return_struct_as_int) = json.abi_return_struct_as_int {
base.abi_return_struct_as_int = abi_return_struct_as_int;
};forward!(abi_return_struct_as_int);
146 if let Some(is_like_aix) = json.is_like_aix {
base.is_like_aix = is_like_aix;
};forward!(is_like_aix);
147 if let Some(is_like_darwin) = json.is_like_darwin {
base.is_like_darwin = is_like_darwin;
};forward!(is_like_darwin);
148 if let Some(is_like_solaris) = json.is_like_solaris {
base.is_like_solaris = is_like_solaris;
};forward!(is_like_solaris);
149 if let Some(is_like_windows) = json.is_like_windows {
base.is_like_windows = is_like_windows;
};forward!(is_like_windows);
150 if let Some(is_like_gpu) = json.is_like_gpu {
base.is_like_gpu = is_like_gpu;
};forward!(is_like_gpu);
151 if let Some(is_like_msvc) = json.is_like_msvc {
base.is_like_msvc = is_like_msvc;
};forward!(is_like_msvc);
152 if let Some(is_like_wasm) = json.is_like_wasm {
base.is_like_wasm = is_like_wasm;
};forward!(is_like_wasm);
153 if let Some(is_like_android) = json.is_like_android {
base.is_like_android = is_like_android;
};forward!(is_like_android);
154 if let Some(is_like_vexos) = json.is_like_vexos {
base.is_like_vexos = is_like_vexos;
};forward!(is_like_vexos);
155 if let Some(binary_format) = json.binary_format {
base.binary_format = binary_format;
};forward!(binary_format);
156 if let Some(default_dwarf_version) = json.default_dwarf_version {
base.default_dwarf_version = default_dwarf_version;
};forward!(default_dwarf_version);
157 if let Some(allows_weak_linkage) = json.allows_weak_linkage {
base.allows_weak_linkage = allows_weak_linkage;
};forward!(allows_weak_linkage);
158 if let Some(has_rpath) = json.has_rpath { base.has_rpath = has_rpath; };forward!(has_rpath);
159 if let Some(no_default_libraries) = json.no_default_libraries {
base.no_default_libraries = no_default_libraries;
};forward!(no_default_libraries);
160 if let Some(position_independent_executables) =
json.position_independent_executables {
base.position_independent_executables = position_independent_executables;
};forward!(position_independent_executables);
161 if let Some(static_position_independent_executables) =
json.static_position_independent_executables {
base.static_position_independent_executables =
static_position_independent_executables;
};forward!(static_position_independent_executables);
162 if let Some(plt_by_default) = json.plt_by_default {
base.plt_by_default = plt_by_default;
};forward!(plt_by_default);
163 if let Some(relro_level) = json.relro_level {
base.relro_level = relro_level;
};forward!(relro_level);
164 if let Some(archive_format) = json.archive_format {
base.archive_format = archive_format;
};forward!(archive_format);
165 if let Some(allow_asm) = json.allow_asm { base.allow_asm = allow_asm; };forward!(allow_asm);
166 if let Some(static_initializer_must_be_acyclic) =
json.static_initializer_must_be_acyclic {
base.static_initializer_must_be_acyclic =
static_initializer_must_be_acyclic;
};forward!(static_initializer_must_be_acyclic);
167 if let Some(main_needs_argc_argv) = json.main_needs_argc_argv {
base.main_needs_argc_argv = main_needs_argc_argv;
};forward!(main_needs_argc_argv);
168 if let Some(has_thread_local) = json.has_thread_local {
base.has_thread_local = has_thread_local;
};forward!(has_thread_local);
169 if let Some(obj_is_bitcode) = json.obj_is_bitcode {
base.obj_is_bitcode = obj_is_bitcode;
};forward!(obj_is_bitcode);
170 if let Some(max_atomic_width) = json.max_atomic_width {
base.max_atomic_width = Some(max_atomic_width);
};forward_opt!(max_atomic_width);
171 if let Some(min_atomic_width) = json.min_atomic_width {
base.min_atomic_width = Some(min_atomic_width);
};forward_opt!(min_atomic_width);
172 if let Some(atomic_cas) = json.atomic_cas { base.atomic_cas = atomic_cas; };forward!(atomic_cas);
173 if let Some(panic_strategy) = json.panic_strategy {
base.panic_strategy = panic_strategy;
};forward!(panic_strategy);
174 if let Some(crt_static_allows_dylibs) = json.crt_static_allows_dylibs {
base.crt_static_allows_dylibs = crt_static_allows_dylibs;
};forward!(crt_static_allows_dylibs);
175 if let Some(crt_static_default) = json.crt_static_default {
base.crt_static_default = crt_static_default;
};forward!(crt_static_default);
176 if let Some(crt_static_respected) = json.crt_static_respected {
base.crt_static_respected = crt_static_respected;
};forward!(crt_static_respected);
177 if let Some(stack_probes) = json.stack_probes {
base.stack_probes = stack_probes;
};forward!(stack_probes);
178
179 if let Some(min_global_align) = json.min_global_align {
180 match Align::from_bits(min_global_align) {
181 Ok(align) => base.min_global_align = Some(align),
182 Err(e) => return Err(alignment_error("min-global-align", e)),
183 }
184 }
185
186 if let Some(default_codegen_units) = json.default_codegen_units {
base.default_codegen_units = Some(default_codegen_units);
};forward_opt!(default_codegen_units);
187 if let Some(default_codegen_backend) = json.default_codegen_backend {
base.default_codegen_backend = Some(default_codegen_backend);
};forward_opt!(default_codegen_backend);
188 if let Some(trap_unreachable) = json.trap_unreachable {
base.trap_unreachable = trap_unreachable;
};forward!(trap_unreachable);
189 if let Some(requires_lto) = json.requires_lto {
base.requires_lto = requires_lto;
};forward!(requires_lto);
190 if let Some(singlethread) = json.singlethread {
base.singlethread = singlethread;
};forward!(singlethread);
191 if let Some(no_builtins) = json.no_builtins {
base.no_builtins = no_builtins;
};forward!(no_builtins);
192 if let Some(default_visibility) = json.default_visibility {
base.default_visibility = Some(default_visibility);
};forward_opt!(default_visibility);
193 if let Some(emit_debug_gdb_scripts) = json.emit_debug_gdb_scripts {
base.emit_debug_gdb_scripts = emit_debug_gdb_scripts;
};forward!(emit_debug_gdb_scripts);
194 if let Some(requires_uwtable) = json.requires_uwtable {
base.requires_uwtable = requires_uwtable;
};forward!(requires_uwtable);
195 if let Some(default_uwtable) = json.default_uwtable {
base.default_uwtable = default_uwtable;
};forward!(default_uwtable);
196 if let Some(simd_types_indirect) = json.simd_types_indirect {
base.simd_types_indirect = simd_types_indirect;
};forward!(simd_types_indirect);
197 if let Some(limit_rdylib_exports) = json.limit_rdylib_exports {
base.limit_rdylib_exports = limit_rdylib_exports;
};forward!(limit_rdylib_exports);
198 if let Some(override_export_symbols) = json.override_export_symbols {
base.override_export_symbols = Some(override_export_symbols);
};forward_opt!(override_export_symbols);
199 if let Some(merge_functions) = json.merge_functions {
base.merge_functions = merge_functions;
};forward!(merge_functions);
200 if let Some(mcount) = json.mcount { base.mcount = mcount; };forward!(mcount);
201 if let Some(llvm_mcount_intrinsic) = json.llvm_mcount_intrinsic {
base.llvm_mcount_intrinsic = Some(llvm_mcount_intrinsic);
};forward_opt!(llvm_mcount_intrinsic);
202 if let Some(llvm_abiname) = json.llvm_abiname {
base.llvm_abiname = llvm_abiname;
};forward!(llvm_abiname);
203 if let Some(llvm_floatabi) = json.llvm_floatabi {
base.llvm_floatabi = Some(llvm_floatabi);
};forward_opt!(llvm_floatabi);
204 if let Some(rustc_abi) = json.rustc_abi { base.rustc_abi = Some(rustc_abi); };forward_opt!(rustc_abi);
205 if let Some(relax_elf_relocations) = json.relax_elf_relocations {
base.relax_elf_relocations = relax_elf_relocations;
};forward!(relax_elf_relocations);
206 if let Some(llvm_args) = json.llvm_args { base.llvm_args = llvm_args; };forward!(llvm_args);
207 if let Some(use_ctors_section) = json.use_ctors_section {
base.use_ctors_section = use_ctors_section;
};forward!(use_ctors_section);
208 if let Some(eh_frame_header) = json.eh_frame_header {
base.eh_frame_header = eh_frame_header;
};forward!(eh_frame_header);
209 if let Some(has_thumb_interworking) = json.has_thumb_interworking {
base.has_thumb_interworking = has_thumb_interworking;
};forward!(has_thumb_interworking);
210 if let Some(debuginfo_kind) = json.debuginfo_kind {
base.debuginfo_kind = debuginfo_kind;
};forward!(debuginfo_kind);
211 if let Some(split_debuginfo) = json.split_debuginfo {
base.split_debuginfo = split_debuginfo;
};forward!(split_debuginfo);
212 if let Some(supported_split_debuginfo) = json.supported_split_debuginfo {
base.supported_split_debuginfo = supported_split_debuginfo;
};forward!(supported_split_debuginfo);
213
214 if let Some(supported_sanitizers) = json.supported_sanitizers {
215 base.supported_sanitizers =
216 supported_sanitizers.into_iter().fold(SanitizerSet::empty(), |a, b| a | b);
217 }
218
219 if let Some(default_sanitizers) = json.default_sanitizers {
220 base.default_sanitizers =
221 default_sanitizers.into_iter().fold(SanitizerSet::empty(), |a, b| a | b);
222 }
223
224 if let Some(generate_arange_section) = json.generate_arange_section {
base.generate_arange_section = generate_arange_section;
};forward!(generate_arange_section);
225 if let Some(supports_stack_protector) = json.supports_stack_protector {
base.supports_stack_protector = supports_stack_protector;
};forward!(supports_stack_protector);
226 if let Some(small_data_threshold_support) = json.small_data_threshold_support
{
base.small_data_threshold_support = small_data_threshold_support;
};forward!(small_data_threshold_support);
227 if let Some(entry_name) = json.entry_name { base.entry_name = entry_name; };forward!(entry_name);
228 if let Some(supports_xray) = json.supports_xray {
base.supports_xray = supports_xray;
};forward!(supports_xray);
229
230 let abi_map = AbiMap::from_target(&base);
233 if let Some(entry_abi) = json.entry_abi {
234 base.options.entry_abi = abi_map.canonize_abi(entry_abi.0, false).unwrap();
235 }
236
237 base.update_from_cli();
238 base.check_consistency(TargetKind::Json)?;
239
240 Ok((base, TargetWarnings { unused_fields: ::alloc::vec::Vec::new()vec![] }))
241 }
242}
243
244impl ToJson for Target {
245 fn to_json(&self) -> Json {
246 let mut d = serde_json::Map::new();
247 let default: TargetOptions = Default::default();
248 let mut target = self.clone();
249 target.update_to_cli();
250
251 macro_rules! target_val {
252 ($attr:ident) => {
253 target_val!($attr, (stringify!($attr)).replace("_", "-"))
254 };
255 ($attr:ident, $json_name:expr) => {{
256 let name = $json_name;
257 d.insert(name.into(), target.$attr.to_json());
258 }};
259 }
260
261 macro_rules! target_option_val {
262 ($attr:ident) => {{ target_option_val!($attr, (stringify!($attr)).replace("_", "-")) }};
263 ($attr:ident, $json_name:expr) => {{
264 let name = $json_name;
265 #[allow(rustc::bad_opt_access)]
266 if default.$attr != target.$attr {
267 d.insert(name.into(), target.$attr.to_json());
268 }
269 }};
270 (link_args - $attr:ident, $json_name:expr) => {{
271 let name = $json_name;
272 if default.$attr != target.$attr {
273 let obj = target
274 .$attr
275 .iter()
276 .map(|(k, v)| (k.desc().to_string(), v.clone()))
277 .collect::<BTreeMap<_, _>>();
278 d.insert(name.to_string(), obj.to_json());
279 }
280 }};
281 (env - $attr:ident) => {{
282 let name = (stringify!($attr)).replace("_", "-");
283 if default.$attr != target.$attr {
284 let obj = target
285 .$attr
286 .iter()
287 .map(|&(ref k, ref v)| format!("{k}={v}"))
288 .collect::<Vec<_>>();
289 d.insert(name, obj.to_json());
290 }
291 }};
292 }
293
294 {
let name = ("llvm_target").replace("_", "-");
d.insert(name.into(), target.llvm_target.to_json());
};target_val!(llvm_target);
295 {
let name = ("metadata").replace("_", "-");
d.insert(name.into(), target.metadata.to_json());
};target_val!(metadata);
296 {
let name = "target-pointer-width";
d.insert(name.into(), target.pointer_width.to_json());
};target_val!(pointer_width, "target-pointer-width");
297 {
let name = ("arch").replace("_", "-");
d.insert(name.into(), target.arch.to_json());
};target_val!(arch);
298 {
let name = ("data_layout").replace("_", "-");
d.insert(name.into(), target.data_layout.to_json());
};target_val!(data_layout);
299
300 {
let name = "target-endian";
#[allow(rustc :: bad_opt_access)]
if default.endian != target.endian {
d.insert(name.into(), target.endian.to_json());
}
};target_option_val!(endian, "target-endian");
301 {
let name = "target-c-int-width";
#[allow(rustc :: bad_opt_access)]
if default.c_int_width != target.c_int_width {
d.insert(name.into(), target.c_int_width.to_json());
}
};target_option_val!(c_int_width, "target-c-int-width");
302 {
{
let name = ("os").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.os != target.os {
d.insert(name.into(), target.os.to_json());
}
}
};target_option_val!(os);
303 {
{
let name = ("env").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.env != target.env {
d.insert(name.into(), target.env.to_json());
}
}
};target_option_val!(env);
304 {
{
let name = ("abi").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.abi != target.abi {
d.insert(name.into(), target.abi.to_json());
}
}
};target_option_val!(abi);
305 {
{
let name = ("vendor").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.vendor != target.vendor {
d.insert(name.into(), target.vendor.to_json());
}
}
};target_option_val!(vendor);
306 {
{
let name = ("linker").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.linker != target.linker {
d.insert(name.into(), target.linker.to_json());
}
}
};target_option_val!(linker);
307 {
let name = "linker-flavor";
#[allow(rustc :: bad_opt_access)]
if default.linker_flavor_json != target.linker_flavor_json {
d.insert(name.into(), target.linker_flavor_json.to_json());
}
};target_option_val!(linker_flavor_json, "linker-flavor");
308 {
let name = "lld-flavor";
#[allow(rustc :: bad_opt_access)]
if default.lld_flavor_json != target.lld_flavor_json {
d.insert(name.into(), target.lld_flavor_json.to_json());
}
};target_option_val!(lld_flavor_json, "lld-flavor");
309 {
let name = "linker-is-gnu";
#[allow(rustc :: bad_opt_access)]
if default.linker_is_gnu_json != target.linker_is_gnu_json {
d.insert(name.into(), target.linker_is_gnu_json.to_json());
}
};target_option_val!(linker_is_gnu_json, "linker-is-gnu");
310 {
{
let name = ("pre_link_objects").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.pre_link_objects != target.pre_link_objects {
d.insert(name.into(), target.pre_link_objects.to_json());
}
}
};target_option_val!(pre_link_objects);
311 {
{
let name = ("post_link_objects").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.post_link_objects != target.post_link_objects {
d.insert(name.into(), target.post_link_objects.to_json());
}
}
};target_option_val!(post_link_objects);
312 {
let name = "pre-link-objects-fallback";
#[allow(rustc :: bad_opt_access)]
if default.pre_link_objects_self_contained !=
target.pre_link_objects_self_contained {
d.insert(name.into(),
target.pre_link_objects_self_contained.to_json());
}
};target_option_val!(pre_link_objects_self_contained, "pre-link-objects-fallback");
313 {
let name = "post-link-objects-fallback";
#[allow(rustc :: bad_opt_access)]
if default.post_link_objects_self_contained !=
target.post_link_objects_self_contained {
d.insert(name.into(),
target.post_link_objects_self_contained.to_json());
}
};target_option_val!(post_link_objects_self_contained, "post-link-objects-fallback");
314 {
let name = "pre-link-args";
if default.pre_link_args_json != target.pre_link_args_json {
let obj =
target.pre_link_args_json.iter().map(|(k, v)|
(k.desc().to_string(),
v.clone())).collect::<BTreeMap<_, _>>();
d.insert(name.to_string(), obj.to_json());
}
};target_option_val!(link_args - pre_link_args_json, "pre-link-args");
315 {
let name = "late-link-args";
if default.late_link_args_json != target.late_link_args_json {
let obj =
target.late_link_args_json.iter().map(|(k, v)|
(k.desc().to_string(),
v.clone())).collect::<BTreeMap<_, _>>();
d.insert(name.to_string(), obj.to_json());
}
};target_option_val!(link_args - late_link_args_json, "late-link-args");
316 {
let name = "late-link-args-dynamic";
if default.late_link_args_dynamic_json !=
target.late_link_args_dynamic_json {
let obj =
target.late_link_args_dynamic_json.iter().map(|(k, v)|
(k.desc().to_string(),
v.clone())).collect::<BTreeMap<_, _>>();
d.insert(name.to_string(), obj.to_json());
}
};target_option_val!(link_args - late_link_args_dynamic_json, "late-link-args-dynamic");
317 {
let name = "late-link-args-static";
if default.late_link_args_static_json != target.late_link_args_static_json
{
let obj =
target.late_link_args_static_json.iter().map(|(k, v)|
(k.desc().to_string(),
v.clone())).collect::<BTreeMap<_, _>>();
d.insert(name.to_string(), obj.to_json());
}
};target_option_val!(link_args - late_link_args_static_json, "late-link-args-static");
318 {
let name = "post-link-args";
if default.post_link_args_json != target.post_link_args_json {
let obj =
target.post_link_args_json.iter().map(|(k, v)|
(k.desc().to_string(),
v.clone())).collect::<BTreeMap<_, _>>();
d.insert(name.to_string(), obj.to_json());
}
};target_option_val!(link_args - post_link_args_json, "post-link-args");
319 {
{
let name = ("link_script").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.link_script != target.link_script {
d.insert(name.into(), target.link_script.to_json());
}
}
};target_option_val!(link_script);
320 {
let name = ("link_env").replace("_", "-");
if default.link_env != target.link_env {
let obj =
target.link_env.iter().map(|&(ref k, ref v)|
::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0}={1}", k, v))
})).collect::<Vec<_>>();
d.insert(name, obj.to_json());
}
};target_option_val!(env - link_env);
321 {
{
let name = ("link_env_remove").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.link_env_remove != target.link_env_remove {
d.insert(name.into(), target.link_env_remove.to_json());
}
}
};target_option_val!(link_env_remove);
322 {
{
let name = ("asm_args").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.asm_args != target.asm_args {
d.insert(name.into(), target.asm_args.to_json());
}
}
};target_option_val!(asm_args);
323 {
{
let name = ("cpu").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.cpu != target.cpu {
d.insert(name.into(), target.cpu.to_json());
}
}
};target_option_val!(cpu);
324 {
{
let name = ("need_explicit_cpu").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.need_explicit_cpu != target.need_explicit_cpu {
d.insert(name.into(), target.need_explicit_cpu.to_json());
}
}
};target_option_val!(need_explicit_cpu);
325 {
{
let name = ("features").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.features != target.features {
d.insert(name.into(), target.features.to_json());
}
}
};target_option_val!(features);
326 {
{
let name = ("dynamic_linking").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.dynamic_linking != target.dynamic_linking {
d.insert(name.into(), target.dynamic_linking.to_json());
}
}
};target_option_val!(dynamic_linking);
327 {
{
let name = ("direct_access_external_data").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.direct_access_external_data !=
target.direct_access_external_data {
d.insert(name.into(),
target.direct_access_external_data.to_json());
}
}
};target_option_val!(direct_access_external_data);
328 {
{
let name = ("dll_tls_export").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.dll_tls_export != target.dll_tls_export {
d.insert(name.into(), target.dll_tls_export.to_json());
}
}
};target_option_val!(dll_tls_export);
329 {
{
let name = ("only_cdylib").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.only_cdylib != target.only_cdylib {
d.insert(name.into(), target.only_cdylib.to_json());
}
}
};target_option_val!(only_cdylib);
330 {
{
let name = ("executables").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.executables != target.executables {
d.insert(name.into(), target.executables.to_json());
}
}
};target_option_val!(executables);
331 {
{
let name = ("relocation_model").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.relocation_model != target.relocation_model {
d.insert(name.into(), target.relocation_model.to_json());
}
}
};target_option_val!(relocation_model);
332 {
{
let name = ("code_model").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.code_model != target.code_model {
d.insert(name.into(), target.code_model.to_json());
}
}
};target_option_val!(code_model);
333 {
{
let name = ("tls_model").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.tls_model != target.tls_model {
d.insert(name.into(), target.tls_model.to_json());
}
}
};target_option_val!(tls_model);
334 {
{
let name = ("disable_redzone").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.disable_redzone != target.disable_redzone {
d.insert(name.into(), target.disable_redzone.to_json());
}
}
};target_option_val!(disable_redzone);
335 {
{
let name = ("frame_pointer").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.frame_pointer != target.frame_pointer {
d.insert(name.into(), target.frame_pointer.to_json());
}
}
};target_option_val!(frame_pointer);
336 {
{
let name = ("function_sections").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.function_sections != target.function_sections {
d.insert(name.into(), target.function_sections.to_json());
}
}
};target_option_val!(function_sections);
337 {
{
let name = ("dll_prefix").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.dll_prefix != target.dll_prefix {
d.insert(name.into(), target.dll_prefix.to_json());
}
}
};target_option_val!(dll_prefix);
338 {
{
let name = ("dll_suffix").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.dll_suffix != target.dll_suffix {
d.insert(name.into(), target.dll_suffix.to_json());
}
}
};target_option_val!(dll_suffix);
339 {
{
let name = ("exe_suffix").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.exe_suffix != target.exe_suffix {
d.insert(name.into(), target.exe_suffix.to_json());
}
}
};target_option_val!(exe_suffix);
340 {
{
let name = ("staticlib_prefix").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.staticlib_prefix != target.staticlib_prefix {
d.insert(name.into(), target.staticlib_prefix.to_json());
}
}
};target_option_val!(staticlib_prefix);
341 {
{
let name = ("staticlib_suffix").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.staticlib_suffix != target.staticlib_suffix {
d.insert(name.into(), target.staticlib_suffix.to_json());
}
}
};target_option_val!(staticlib_suffix);
342 {
let name = "target-family";
#[allow(rustc :: bad_opt_access)]
if default.families != target.families {
d.insert(name.into(), target.families.to_json());
}
};target_option_val!(families, "target-family");
343 {
{
let name = ("abi_return_struct_as_int").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.abi_return_struct_as_int != target.abi_return_struct_as_int
{
d.insert(name.into(), target.abi_return_struct_as_int.to_json());
}
}
};target_option_val!(abi_return_struct_as_int);
344 {
{
let name = ("is_like_aix").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.is_like_aix != target.is_like_aix {
d.insert(name.into(), target.is_like_aix.to_json());
}
}
};target_option_val!(is_like_aix);
345 {
{
let name = ("is_like_darwin").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.is_like_darwin != target.is_like_darwin {
d.insert(name.into(), target.is_like_darwin.to_json());
}
}
};target_option_val!(is_like_darwin);
346 {
{
let name = ("is_like_solaris").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.is_like_solaris != target.is_like_solaris {
d.insert(name.into(), target.is_like_solaris.to_json());
}
}
};target_option_val!(is_like_solaris);
347 {
{
let name = ("is_like_windows").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.is_like_windows != target.is_like_windows {
d.insert(name.into(), target.is_like_windows.to_json());
}
}
};target_option_val!(is_like_windows);
348 {
{
let name = ("is_like_gpu").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.is_like_gpu != target.is_like_gpu {
d.insert(name.into(), target.is_like_gpu.to_json());
}
}
};target_option_val!(is_like_gpu);
349 {
{
let name = ("is_like_msvc").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.is_like_msvc != target.is_like_msvc {
d.insert(name.into(), target.is_like_msvc.to_json());
}
}
};target_option_val!(is_like_msvc);
350 {
{
let name = ("is_like_wasm").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.is_like_wasm != target.is_like_wasm {
d.insert(name.into(), target.is_like_wasm.to_json());
}
}
};target_option_val!(is_like_wasm);
351 {
{
let name = ("is_like_android").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.is_like_android != target.is_like_android {
d.insert(name.into(), target.is_like_android.to_json());
}
}
};target_option_val!(is_like_android);
352 {
{
let name = ("is_like_vexos").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.is_like_vexos != target.is_like_vexos {
d.insert(name.into(), target.is_like_vexos.to_json());
}
}
};target_option_val!(is_like_vexos);
353 {
{
let name = ("binary_format").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.binary_format != target.binary_format {
d.insert(name.into(), target.binary_format.to_json());
}
}
};target_option_val!(binary_format);
354 {
{
let name = ("default_dwarf_version").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.default_dwarf_version != target.default_dwarf_version {
d.insert(name.into(), target.default_dwarf_version.to_json());
}
}
};target_option_val!(default_dwarf_version);
355 {
{
let name = ("allows_weak_linkage").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.allows_weak_linkage != target.allows_weak_linkage {
d.insert(name.into(), target.allows_weak_linkage.to_json());
}
}
};target_option_val!(allows_weak_linkage);
356 {
{
let name = ("has_rpath").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.has_rpath != target.has_rpath {
d.insert(name.into(), target.has_rpath.to_json());
}
}
};target_option_val!(has_rpath);
357 {
{
let name = ("no_default_libraries").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.no_default_libraries != target.no_default_libraries {
d.insert(name.into(), target.no_default_libraries.to_json());
}
}
};target_option_val!(no_default_libraries);
358 {
{
let name = ("position_independent_executables").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.position_independent_executables !=
target.position_independent_executables {
d.insert(name.into(),
target.position_independent_executables.to_json());
}
}
};target_option_val!(position_independent_executables);
359 {
{
let name =
("static_position_independent_executables").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.static_position_independent_executables !=
target.static_position_independent_executables {
d.insert(name.into(),
target.static_position_independent_executables.to_json());
}
}
};target_option_val!(static_position_independent_executables);
360 {
{
let name = ("plt_by_default").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.plt_by_default != target.plt_by_default {
d.insert(name.into(), target.plt_by_default.to_json());
}
}
};target_option_val!(plt_by_default);
361 {
{
let name = ("relro_level").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.relro_level != target.relro_level {
d.insert(name.into(), target.relro_level.to_json());
}
}
};target_option_val!(relro_level);
362 {
{
let name = ("archive_format").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.archive_format != target.archive_format {
d.insert(name.into(), target.archive_format.to_json());
}
}
};target_option_val!(archive_format);
363 {
{
let name = ("allow_asm").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.allow_asm != target.allow_asm {
d.insert(name.into(), target.allow_asm.to_json());
}
}
};target_option_val!(allow_asm);
364 {
{
let name = ("static_initializer_must_be_acyclic").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.static_initializer_must_be_acyclic !=
target.static_initializer_must_be_acyclic {
d.insert(name.into(),
target.static_initializer_must_be_acyclic.to_json());
}
}
};target_option_val!(static_initializer_must_be_acyclic);
365 {
{
let name = ("main_needs_argc_argv").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.main_needs_argc_argv != target.main_needs_argc_argv {
d.insert(name.into(), target.main_needs_argc_argv.to_json());
}
}
};target_option_val!(main_needs_argc_argv);
366 {
{
let name = ("has_thread_local").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.has_thread_local != target.has_thread_local {
d.insert(name.into(), target.has_thread_local.to_json());
}
}
};target_option_val!(has_thread_local);
367 {
{
let name = ("obj_is_bitcode").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.obj_is_bitcode != target.obj_is_bitcode {
d.insert(name.into(), target.obj_is_bitcode.to_json());
}
}
};target_option_val!(obj_is_bitcode);
368 {
{
let name = ("min_atomic_width").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.min_atomic_width != target.min_atomic_width {
d.insert(name.into(), target.min_atomic_width.to_json());
}
}
};target_option_val!(min_atomic_width);
369 {
{
let name = ("max_atomic_width").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.max_atomic_width != target.max_atomic_width {
d.insert(name.into(), target.max_atomic_width.to_json());
}
}
};target_option_val!(max_atomic_width);
370 {
{
let name = ("atomic_cas").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.atomic_cas != target.atomic_cas {
d.insert(name.into(), target.atomic_cas.to_json());
}
}
};target_option_val!(atomic_cas);
371 {
{
let name = ("panic_strategy").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.panic_strategy != target.panic_strategy {
d.insert(name.into(), target.panic_strategy.to_json());
}
}
};target_option_val!(panic_strategy);
372 {
{
let name = ("crt_static_allows_dylibs").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.crt_static_allows_dylibs != target.crt_static_allows_dylibs
{
d.insert(name.into(), target.crt_static_allows_dylibs.to_json());
}
}
};target_option_val!(crt_static_allows_dylibs);
373 {
{
let name = ("crt_static_default").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.crt_static_default != target.crt_static_default {
d.insert(name.into(), target.crt_static_default.to_json());
}
}
};target_option_val!(crt_static_default);
374 {
{
let name = ("crt_static_respected").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.crt_static_respected != target.crt_static_respected {
d.insert(name.into(), target.crt_static_respected.to_json());
}
}
};target_option_val!(crt_static_respected);
375 {
{
let name = ("stack_probes").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.stack_probes != target.stack_probes {
d.insert(name.into(), target.stack_probes.to_json());
}
}
};target_option_val!(stack_probes);
376 {
{
let name = ("min_global_align").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.min_global_align != target.min_global_align {
d.insert(name.into(), target.min_global_align.to_json());
}
}
};target_option_val!(min_global_align);
377 {
{
let name = ("default_codegen_units").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.default_codegen_units != target.default_codegen_units {
d.insert(name.into(), target.default_codegen_units.to_json());
}
}
};target_option_val!(default_codegen_units);
378 {
{
let name = ("default_codegen_backend").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.default_codegen_backend != target.default_codegen_backend {
d.insert(name.into(), target.default_codegen_backend.to_json());
}
}
};target_option_val!(default_codegen_backend);
379 {
{
let name = ("trap_unreachable").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.trap_unreachable != target.trap_unreachable {
d.insert(name.into(), target.trap_unreachable.to_json());
}
}
};target_option_val!(trap_unreachable);
380 {
{
let name = ("requires_lto").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.requires_lto != target.requires_lto {
d.insert(name.into(), target.requires_lto.to_json());
}
}
};target_option_val!(requires_lto);
381 {
{
let name = ("singlethread").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.singlethread != target.singlethread {
d.insert(name.into(), target.singlethread.to_json());
}
}
};target_option_val!(singlethread);
382 {
{
let name = ("no_builtins").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.no_builtins != target.no_builtins {
d.insert(name.into(), target.no_builtins.to_json());
}
}
};target_option_val!(no_builtins);
383 {
{
let name = ("default_visibility").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.default_visibility != target.default_visibility {
d.insert(name.into(), target.default_visibility.to_json());
}
}
};target_option_val!(default_visibility);
384 {
{
let name = ("emit_debug_gdb_scripts").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.emit_debug_gdb_scripts != target.emit_debug_gdb_scripts {
d.insert(name.into(), target.emit_debug_gdb_scripts.to_json());
}
}
};target_option_val!(emit_debug_gdb_scripts);
385 {
{
let name = ("requires_uwtable").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.requires_uwtable != target.requires_uwtable {
d.insert(name.into(), target.requires_uwtable.to_json());
}
}
};target_option_val!(requires_uwtable);
386 {
{
let name = ("default_uwtable").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.default_uwtable != target.default_uwtable {
d.insert(name.into(), target.default_uwtable.to_json());
}
}
};target_option_val!(default_uwtable);
387 {
{
let name = ("simd_types_indirect").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.simd_types_indirect != target.simd_types_indirect {
d.insert(name.into(), target.simd_types_indirect.to_json());
}
}
};target_option_val!(simd_types_indirect);
388 {
{
let name = ("limit_rdylib_exports").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.limit_rdylib_exports != target.limit_rdylib_exports {
d.insert(name.into(), target.limit_rdylib_exports.to_json());
}
}
};target_option_val!(limit_rdylib_exports);
389 {
{
let name = ("override_export_symbols").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.override_export_symbols != target.override_export_symbols {
d.insert(name.into(), target.override_export_symbols.to_json());
}
}
};target_option_val!(override_export_symbols);
390 {
{
let name = ("merge_functions").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.merge_functions != target.merge_functions {
d.insert(name.into(), target.merge_functions.to_json());
}
}
};target_option_val!(merge_functions);
391 {
let name = "target-mcount";
#[allow(rustc :: bad_opt_access)]
if default.mcount != target.mcount {
d.insert(name.into(), target.mcount.to_json());
}
};target_option_val!(mcount, "target-mcount");
392 {
{
let name = ("llvm_mcount_intrinsic").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.llvm_mcount_intrinsic != target.llvm_mcount_intrinsic {
d.insert(name.into(), target.llvm_mcount_intrinsic.to_json());
}
}
};target_option_val!(llvm_mcount_intrinsic);
393 {
{
let name = ("llvm_abiname").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.llvm_abiname != target.llvm_abiname {
d.insert(name.into(), target.llvm_abiname.to_json());
}
}
};target_option_val!(llvm_abiname);
394 {
{
let name = ("llvm_floatabi").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.llvm_floatabi != target.llvm_floatabi {
d.insert(name.into(), target.llvm_floatabi.to_json());
}
}
};target_option_val!(llvm_floatabi);
395 {
{
let name = ("rustc_abi").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.rustc_abi != target.rustc_abi {
d.insert(name.into(), target.rustc_abi.to_json());
}
}
};target_option_val!(rustc_abi);
396 {
{
let name = ("relax_elf_relocations").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.relax_elf_relocations != target.relax_elf_relocations {
d.insert(name.into(), target.relax_elf_relocations.to_json());
}
}
};target_option_val!(relax_elf_relocations);
397 {
{
let name = ("llvm_args").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.llvm_args != target.llvm_args {
d.insert(name.into(), target.llvm_args.to_json());
}
}
};target_option_val!(llvm_args);
398 {
{
let name = ("use_ctors_section").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.use_ctors_section != target.use_ctors_section {
d.insert(name.into(), target.use_ctors_section.to_json());
}
}
};target_option_val!(use_ctors_section);
399 {
{
let name = ("eh_frame_header").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.eh_frame_header != target.eh_frame_header {
d.insert(name.into(), target.eh_frame_header.to_json());
}
}
};target_option_val!(eh_frame_header);
400 {
{
let name = ("has_thumb_interworking").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.has_thumb_interworking != target.has_thumb_interworking {
d.insert(name.into(), target.has_thumb_interworking.to_json());
}
}
};target_option_val!(has_thumb_interworking);
401 {
{
let name = ("debuginfo_kind").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.debuginfo_kind != target.debuginfo_kind {
d.insert(name.into(), target.debuginfo_kind.to_json());
}
}
};target_option_val!(debuginfo_kind);
402 {
{
let name = ("split_debuginfo").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.split_debuginfo != target.split_debuginfo {
d.insert(name.into(), target.split_debuginfo.to_json());
}
}
};target_option_val!(split_debuginfo);
403 {
{
let name = ("supported_split_debuginfo").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.supported_split_debuginfo !=
target.supported_split_debuginfo {
d.insert(name.into(), target.supported_split_debuginfo.to_json());
}
}
};target_option_val!(supported_split_debuginfo);
404 {
{
let name = ("supported_sanitizers").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.supported_sanitizers != target.supported_sanitizers {
d.insert(name.into(), target.supported_sanitizers.to_json());
}
}
};target_option_val!(supported_sanitizers);
405 {
{
let name = ("default_sanitizers").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.default_sanitizers != target.default_sanitizers {
d.insert(name.into(), target.default_sanitizers.to_json());
}
}
};target_option_val!(default_sanitizers);
406 {
{
let name = ("c_enum_min_bits").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.c_enum_min_bits != target.c_enum_min_bits {
d.insert(name.into(), target.c_enum_min_bits.to_json());
}
}
};target_option_val!(c_enum_min_bits);
407 {
{
let name = ("generate_arange_section").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.generate_arange_section != target.generate_arange_section {
d.insert(name.into(), target.generate_arange_section.to_json());
}
}
};target_option_val!(generate_arange_section);
408 {
{
let name = ("supports_stack_protector").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.supports_stack_protector != target.supports_stack_protector
{
d.insert(name.into(), target.supports_stack_protector.to_json());
}
}
};target_option_val!(supports_stack_protector);
409 {
{
let name = ("small_data_threshold_support").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.small_data_threshold_support !=
target.small_data_threshold_support {
d.insert(name.into(),
target.small_data_threshold_support.to_json());
}
}
};target_option_val!(small_data_threshold_support);
410 {
{
let name = ("entry_name").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.entry_name != target.entry_name {
d.insert(name.into(), target.entry_name.to_json());
}
}
};target_option_val!(entry_name);
411 {
{
let name = ("entry_abi").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.entry_abi != target.entry_abi {
d.insert(name.into(), target.entry_abi.to_json());
}
}
};target_option_val!(entry_abi);
412 {
{
let name = ("supports_xray").replace("_", "-");
#[allow(rustc :: bad_opt_access)]
if default.supports_xray != target.supports_xray {
d.insert(name.into(), target.supports_xray.to_json());
}
}
};target_option_val!(supports_xray);
413
414 d.insert(self.link_self_contained.json_key().into(), self.link_self_contained.to_json());
417
418 Json::Object(d)
419 }
420}
421
422#[derive(#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for
LinkSelfContainedComponentsWrapper {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"components" => _serde::__private228::Ok(__Field::__field0),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"components" =>
_serde::__private228::Ok(__Field::__field0),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<LinkSelfContainedComponentsWrapper>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = LinkSelfContainedComponentsWrapper;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct LinkSelfContainedComponentsWrapper")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Vec<LinkSelfContainedComponents>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct LinkSelfContainedComponentsWrapper with 1 element")),
};
_serde::__private228::Ok(LinkSelfContainedComponentsWrapper {
components: __field0,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0:
_serde::__private228::Option<Vec<LinkSelfContainedComponents>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("components"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Vec<LinkSelfContainedComponents>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("components")?,
};
_serde::__private228::Ok(LinkSelfContainedComponentsWrapper {
components: __field0,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["components"];
_serde::Deserializer::deserialize_struct(__deserializer,
"LinkSelfContainedComponentsWrapper", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<LinkSelfContainedComponentsWrapper>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};serde_derive::Deserialize, const _: () =
{
#[automatically_derived]
#[allow(unused_braces)]
impl schemars::JsonSchema for LinkSelfContainedComponentsWrapper {
fn schema_name()
-> schemars::_private::alloc::borrow::Cow<'static, str> {
schemars::_private::alloc::borrow::Cow::Borrowed("LinkSelfContainedComponentsWrapper")
}
fn schema_id()
-> schemars::_private::alloc::borrow::Cow<'static, str> {
schemars::_private::alloc::borrow::Cow::Borrowed("rustc_target::spec::json::LinkSelfContainedComponentsWrapper")
}
fn json_schema(generator: &mut schemars::SchemaGenerator)
-> schemars::Schema {
{
let mut schema =
<::schemars::Schema as
::core::convert::TryFrom<_>>::try_from(::serde_json::Value::Object({
let mut object = ::serde_json::Map::new();
let _ =
object.insert(("type").into(),
::serde_json::to_value(&"object").unwrap());
;
object
})).unwrap();
{
schemars::_private::insert_object_property(&mut schema,
"components",
generator.contract().is_deserialize() &&
<Vec<LinkSelfContainedComponents> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Vec<LinkSelfContainedComponents>>()
});
}
schema
}
}
fn inline_schema() -> bool { false }
}
;
};schemars::JsonSchema)]
423struct LinkSelfContainedComponentsWrapper {
424 components: Vec<LinkSelfContainedComponents>,
425}
426
427#[derive(#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for TargetFamiliesJson {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
let __content =
_serde::de::DeserializeSeed::deserialize(_serde::__private228::de::ContentVisitor::new(),
__deserializer)?;
let __deserializer =
_serde::__private228::de::ContentRefDeserializer::<__D::Error>::new(&__content);
if let _serde::__private228::Ok(__ok) =
_serde::__private228::Result::map(<StaticCow<[StaticCow<str>]>
as _serde::Deserialize>::deserialize(__deserializer),
TargetFamiliesJson::Array) {
return _serde::__private228::Ok(__ok);
}
if let _serde::__private228::Ok(__ok) =
_serde::__private228::Result::map(<StaticCow<str> as
_serde::Deserialize>::deserialize(__deserializer),
TargetFamiliesJson::String) {
return _serde::__private228::Ok(__ok);
}
_serde::__private228::Err(_serde::de::Error::custom("data did not match any variant of untagged enum TargetFamiliesJson"))
}
}
};serde_derive::Deserialize, const _: () =
{
#[automatically_derived]
#[allow(unused_braces)]
impl schemars::JsonSchema for TargetFamiliesJson {
fn schema_name()
-> schemars::_private::alloc::borrow::Cow<'static, str> {
schemars::_private::alloc::borrow::Cow::Borrowed("TargetFamiliesJson")
}
fn schema_id()
-> schemars::_private::alloc::borrow::Cow<'static, str> {
schemars::_private::alloc::borrow::Cow::Borrowed("rustc_target::spec::json::TargetFamiliesJson")
}
fn json_schema(generator: &mut schemars::SchemaGenerator)
-> schemars::Schema {
{
{
let mut map = schemars::_private::serde_json::Map::new();
map.insert("anyOf".into(),
schemars::_private::serde_json::Value::Array({
let mut enum_values =
schemars::_private::alloc::vec::Vec::new();
enum_values.push({
let mut schema =
generator.subschema_for::<StaticCow<[StaticCow<str>]>>();
if generator.settings().untagged_enum_variant_titles {
schema.insert("title".into(), "Array".into());
}
schema
}.to_value());
enum_values.push({
let mut schema =
generator.subschema_for::<StaticCow<str>>();
if generator.settings().untagged_enum_variant_titles {
schema.insert("title".into(), "String".into());
}
schema
}.to_value());
enum_values
}));
schemars::Schema::from(map)
}
}
}
fn inline_schema() -> bool { false }
}
;
};schemars::JsonSchema)]
428#[serde(untagged)]
429enum TargetFamiliesJson {
430 Array(StaticCow<[StaticCow<str>]>),
431 String(StaticCow<str>),
432}
433
434struct EndianWrapper(rustc_abi::Endian);
436impl FromStr for EndianWrapper {
437 type Err = String;
438 fn from_str(s: &str) -> Result<Self, Self::Err> {
439 rustc_abi::Endian::from_str(s).map(Self)
440 }
441}
442impl<'de> serde::Deserialize<'de> for EndianWrapper {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: serde::Deserializer<'de> {
let s = String::deserialize(deserializer)?;
FromStr::from_str(&s).map_err(serde::de::Error::custom)
}
}crate::json::serde_deserialize_from_str!(EndianWrapper);
443impl schemars::JsonSchema for EndianWrapper {
444 fn schema_name() -> std::borrow::Cow<'static, str> {
445 "Endian".into()
446 }
447 fn json_schema(_: &mut schemars::SchemaGenerator) -> schemars::Schema {
448 <::schemars::Schema as
::core::convert::TryFrom<_>>::try_from(::serde_json::Value::Object({
let mut object = ::serde_json::Map::new();
let _ =
object.insert(("type").into(),
::serde_json::to_value(&"string").unwrap());
let _ =
object.insert(("enum").into(),
::serde_json::Value::Array(<[_]>::into_vec(::alloc::boxed::box_new([::serde_json::to_value(&"big").unwrap(),
::serde_json::to_value(&"little").unwrap()]))));
object
})).unwrap()schemars::json_schema! ({
449 "type": "string",
450 "enum": ["big", "little"]
451 })
452 .into()
453 }
454}
455
456struct ExternAbiWrapper(rustc_abi::ExternAbi);
458impl FromStr for ExternAbiWrapper {
459 type Err = String;
460 fn from_str(s: &str) -> Result<Self, Self::Err> {
461 rustc_abi::ExternAbi::from_str(s)
462 .map(Self)
463 .map_err(|_| ::alloc::__export::must_use({
::alloc::fmt::format(format_args!("{0} is not a valid extern ABI", s))
})format!("{s} is not a valid extern ABI"))
464 }
465}
466impl<'de> serde::Deserialize<'de> for ExternAbiWrapper {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: serde::Deserializer<'de> {
let s = String::deserialize(deserializer)?;
FromStr::from_str(&s).map_err(serde::de::Error::custom)
}
}crate::json::serde_deserialize_from_str!(ExternAbiWrapper);
467impl schemars::JsonSchema for ExternAbiWrapper {
468 fn schema_name() -> std::borrow::Cow<'static, str> {
469 "ExternAbi".into()
470 }
471 fn json_schema(_: &mut schemars::SchemaGenerator) -> schemars::Schema {
472 let all =
473 rustc_abi::ExternAbi::ALL_VARIANTS.iter().map(|abi| abi.as_str()).collect::<Vec<_>>();
474 <::schemars::Schema as
::core::convert::TryFrom<_>>::try_from(::serde_json::Value::Object({
let mut object = ::serde_json::Map::new();
let _ =
object.insert(("type").into(),
::serde_json::to_value(&"string").unwrap());
let _ =
object.insert(("enum").into(),
::serde_json::to_value(&all).unwrap());
;
object
})).unwrap()schemars::json_schema! ({
475 "type": "string",
476 "enum": all,
477 })
478 .into()
479 }
480}
481
482#[derive(#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for TargetSpecJsonMetadata {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__ignore,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"description" =>
_serde::__private228::Ok(__Field::__field0),
"tier" => _serde::__private228::Ok(__Field::__field1),
"host_tools" => _serde::__private228::Ok(__Field::__field2),
"std" => _serde::__private228::Ok(__Field::__field3),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"description" =>
_serde::__private228::Ok(__Field::__field0),
b"tier" => _serde::__private228::Ok(__Field::__field1),
b"host_tools" =>
_serde::__private228::Ok(__Field::__field2),
b"std" => _serde::__private228::Ok(__Field::__field3),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<TargetSpecJsonMetadata>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = TargetSpecJsonMetadata;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct TargetSpecJsonMetadata")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct TargetSpecJsonMetadata with 4 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Option<u64>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct TargetSpecJsonMetadata with 4 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct TargetSpecJsonMetadata with 4 elements")),
};
let __field3 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(3usize,
&"struct TargetSpecJsonMetadata with 4 elements")),
};
_serde::__private228::Ok(TargetSpecJsonMetadata {
description: __field0,
tier: __field1,
host_tools: __field2,
std: __field3,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field1:
_serde::__private228::Option<Option<u64>> =
_serde::__private228::None;
let mut __field2:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field3:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("description"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("tier"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<u64>>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("host_tools"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field3 => {
if _serde::__private228::Option::is_some(&__field3) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("std"));
}
__field3 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("description")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("tier")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("host_tools")?,
};
let __field3 =
match __field3 {
_serde::__private228::Some(__field3) => __field3,
_serde::__private228::None =>
_serde::__private228::de::missing_field("std")?,
};
_serde::__private228::Ok(TargetSpecJsonMetadata {
description: __field0,
tier: __field1,
host_tools: __field2,
std: __field3,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["description", "tier", "host_tools", "std"];
_serde::Deserializer::deserialize_struct(__deserializer,
"TargetSpecJsonMetadata", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<TargetSpecJsonMetadata>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};serde_derive::Deserialize, const _: () =
{
#[automatically_derived]
#[allow(unused_braces)]
impl schemars::JsonSchema for TargetSpecJsonMetadata {
fn schema_name()
-> schemars::_private::alloc::borrow::Cow<'static, str> {
schemars::_private::alloc::borrow::Cow::Borrowed("TargetSpecJsonMetadata")
}
fn schema_id()
-> schemars::_private::alloc::borrow::Cow<'static, str> {
schemars::_private::alloc::borrow::Cow::Borrowed("rustc_target::spec::json::TargetSpecJsonMetadata")
}
fn json_schema(generator: &mut schemars::SchemaGenerator)
-> schemars::Schema {
{
let mut schema =
<::schemars::Schema as
::core::convert::TryFrom<_>>::try_from(::serde_json::Value::Object({
let mut object = ::serde_json::Map::new();
let _ =
object.insert(("type").into(),
::serde_json::to_value(&"object").unwrap());
;
object
})).unwrap();
{
schemars::_private::insert_object_property(&mut schema,
"description",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"tier",
generator.contract().is_deserialize() &&
<Option<u64> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<u64>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"host_tools",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"std",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
schema
}
}
fn inline_schema() -> bool { false }
}
;
};schemars::JsonSchema)]
483struct TargetSpecJsonMetadata {
484 description: Option<StaticCow<str>>,
485 tier: Option<u64>,
486 host_tools: Option<bool>,
487 std: Option<bool>,
488}
489
490#[derive(#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for TargetSpecJson {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__field5,
__field6,
__field7,
__field8,
__field9,
__field10,
__field11,
__field12,
__field13,
__field14,
__field15,
__field16,
__field17,
__field18,
__field19,
__field20,
__field21,
__field22,
__field23,
__field24,
__field25,
__field26,
__field27,
__field28,
__field29,
__field30,
__field31,
__field32,
__field33,
__field34,
__field35,
__field36,
__field37,
__field38,
__field39,
__field40,
__field41,
__field42,
__field43,
__field44,
__field45,
__field46,
__field47,
__field48,
__field49,
__field50,
__field51,
__field52,
__field53,
__field54,
__field55,
__field56,
__field57,
__field58,
__field59,
__field60,
__field61,
__field62,
__field63,
__field64,
__field65,
__field66,
__field67,
__field68,
__field69,
__field70,
__field71,
__field72,
__field73,
__field74,
__field75,
__field76,
__field77,
__field78,
__field79,
__field80,
__field81,
__field82,
__field83,
__field84,
__field85,
__field86,
__field87,
__field88,
__field89,
__field90,
__field91,
__field92,
__field93,
__field94,
__field95,
__field96,
__field97,
__field98,
__field99,
__field100,
__field101,
__field102,
__field103,
__field104,
__field105,
__field106,
__field107,
__field108,
__field109,
__field110,
__field111,
__field112,
__field113,
__field114,
__field115,
__field116,
__field117,
__field118,
__field119,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
5u64 => _serde::__private228::Ok(__Field::__field5),
6u64 => _serde::__private228::Ok(__Field::__field6),
7u64 => _serde::__private228::Ok(__Field::__field7),
8u64 => _serde::__private228::Ok(__Field::__field8),
9u64 => _serde::__private228::Ok(__Field::__field9),
10u64 => _serde::__private228::Ok(__Field::__field10),
11u64 => _serde::__private228::Ok(__Field::__field11),
12u64 => _serde::__private228::Ok(__Field::__field12),
13u64 => _serde::__private228::Ok(__Field::__field13),
14u64 => _serde::__private228::Ok(__Field::__field14),
15u64 => _serde::__private228::Ok(__Field::__field15),
16u64 => _serde::__private228::Ok(__Field::__field16),
17u64 => _serde::__private228::Ok(__Field::__field17),
18u64 => _serde::__private228::Ok(__Field::__field18),
19u64 => _serde::__private228::Ok(__Field::__field19),
20u64 => _serde::__private228::Ok(__Field::__field20),
21u64 => _serde::__private228::Ok(__Field::__field21),
22u64 => _serde::__private228::Ok(__Field::__field22),
23u64 => _serde::__private228::Ok(__Field::__field23),
24u64 => _serde::__private228::Ok(__Field::__field24),
25u64 => _serde::__private228::Ok(__Field::__field25),
26u64 => _serde::__private228::Ok(__Field::__field26),
27u64 => _serde::__private228::Ok(__Field::__field27),
28u64 => _serde::__private228::Ok(__Field::__field28),
29u64 => _serde::__private228::Ok(__Field::__field29),
30u64 => _serde::__private228::Ok(__Field::__field30),
31u64 => _serde::__private228::Ok(__Field::__field31),
32u64 => _serde::__private228::Ok(__Field::__field32),
33u64 => _serde::__private228::Ok(__Field::__field33),
34u64 => _serde::__private228::Ok(__Field::__field34),
35u64 => _serde::__private228::Ok(__Field::__field35),
36u64 => _serde::__private228::Ok(__Field::__field36),
37u64 => _serde::__private228::Ok(__Field::__field37),
38u64 => _serde::__private228::Ok(__Field::__field38),
39u64 => _serde::__private228::Ok(__Field::__field39),
40u64 => _serde::__private228::Ok(__Field::__field40),
41u64 => _serde::__private228::Ok(__Field::__field41),
42u64 => _serde::__private228::Ok(__Field::__field42),
43u64 => _serde::__private228::Ok(__Field::__field43),
44u64 => _serde::__private228::Ok(__Field::__field44),
45u64 => _serde::__private228::Ok(__Field::__field45),
46u64 => _serde::__private228::Ok(__Field::__field46),
47u64 => _serde::__private228::Ok(__Field::__field47),
48u64 => _serde::__private228::Ok(__Field::__field48),
49u64 => _serde::__private228::Ok(__Field::__field49),
50u64 => _serde::__private228::Ok(__Field::__field50),
51u64 => _serde::__private228::Ok(__Field::__field51),
52u64 => _serde::__private228::Ok(__Field::__field52),
53u64 => _serde::__private228::Ok(__Field::__field53),
54u64 => _serde::__private228::Ok(__Field::__field54),
55u64 => _serde::__private228::Ok(__Field::__field55),
56u64 => _serde::__private228::Ok(__Field::__field56),
57u64 => _serde::__private228::Ok(__Field::__field57),
58u64 => _serde::__private228::Ok(__Field::__field58),
59u64 => _serde::__private228::Ok(__Field::__field59),
60u64 => _serde::__private228::Ok(__Field::__field60),
61u64 => _serde::__private228::Ok(__Field::__field61),
62u64 => _serde::__private228::Ok(__Field::__field62),
63u64 => _serde::__private228::Ok(__Field::__field63),
64u64 => _serde::__private228::Ok(__Field::__field64),
65u64 => _serde::__private228::Ok(__Field::__field65),
66u64 => _serde::__private228::Ok(__Field::__field66),
67u64 => _serde::__private228::Ok(__Field::__field67),
68u64 => _serde::__private228::Ok(__Field::__field68),
69u64 => _serde::__private228::Ok(__Field::__field69),
70u64 => _serde::__private228::Ok(__Field::__field70),
71u64 => _serde::__private228::Ok(__Field::__field71),
72u64 => _serde::__private228::Ok(__Field::__field72),
73u64 => _serde::__private228::Ok(__Field::__field73),
74u64 => _serde::__private228::Ok(__Field::__field74),
75u64 => _serde::__private228::Ok(__Field::__field75),
76u64 => _serde::__private228::Ok(__Field::__field76),
77u64 => _serde::__private228::Ok(__Field::__field77),
78u64 => _serde::__private228::Ok(__Field::__field78),
79u64 => _serde::__private228::Ok(__Field::__field79),
80u64 => _serde::__private228::Ok(__Field::__field80),
81u64 => _serde::__private228::Ok(__Field::__field81),
82u64 => _serde::__private228::Ok(__Field::__field82),
83u64 => _serde::__private228::Ok(__Field::__field83),
84u64 => _serde::__private228::Ok(__Field::__field84),
85u64 => _serde::__private228::Ok(__Field::__field85),
86u64 => _serde::__private228::Ok(__Field::__field86),
87u64 => _serde::__private228::Ok(__Field::__field87),
88u64 => _serde::__private228::Ok(__Field::__field88),
89u64 => _serde::__private228::Ok(__Field::__field89),
90u64 => _serde::__private228::Ok(__Field::__field90),
91u64 => _serde::__private228::Ok(__Field::__field91),
92u64 => _serde::__private228::Ok(__Field::__field92),
93u64 => _serde::__private228::Ok(__Field::__field93),
94u64 => _serde::__private228::Ok(__Field::__field94),
95u64 => _serde::__private228::Ok(__Field::__field95),
96u64 => _serde::__private228::Ok(__Field::__field96),
97u64 => _serde::__private228::Ok(__Field::__field97),
98u64 => _serde::__private228::Ok(__Field::__field98),
99u64 => _serde::__private228::Ok(__Field::__field99),
100u64 => _serde::__private228::Ok(__Field::__field100),
101u64 => _serde::__private228::Ok(__Field::__field101),
102u64 => _serde::__private228::Ok(__Field::__field102),
103u64 => _serde::__private228::Ok(__Field::__field103),
104u64 => _serde::__private228::Ok(__Field::__field104),
105u64 => _serde::__private228::Ok(__Field::__field105),
106u64 => _serde::__private228::Ok(__Field::__field106),
107u64 => _serde::__private228::Ok(__Field::__field107),
108u64 => _serde::__private228::Ok(__Field::__field108),
109u64 => _serde::__private228::Ok(__Field::__field109),
110u64 => _serde::__private228::Ok(__Field::__field110),
111u64 => _serde::__private228::Ok(__Field::__field111),
112u64 => _serde::__private228::Ok(__Field::__field112),
113u64 => _serde::__private228::Ok(__Field::__field113),
114u64 => _serde::__private228::Ok(__Field::__field114),
115u64 => _serde::__private228::Ok(__Field::__field115),
116u64 => _serde::__private228::Ok(__Field::__field116),
117u64 => _serde::__private228::Ok(__Field::__field117),
118u64 => _serde::__private228::Ok(__Field::__field118),
119u64 => _serde::__private228::Ok(__Field::__field119),
_ =>
_serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
&"field index 0 <= i < 120")),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"llvm-target" =>
_serde::__private228::Ok(__Field::__field0),
"target-pointer-width" =>
_serde::__private228::Ok(__Field::__field1),
"data-layout" =>
_serde::__private228::Ok(__Field::__field2),
"arch" => _serde::__private228::Ok(__Field::__field3),
"metadata" => _serde::__private228::Ok(__Field::__field4),
"target-endian" =>
_serde::__private228::Ok(__Field::__field5),
"frame-pointer" =>
_serde::__private228::Ok(__Field::__field6),
"target-c-int-width" =>
_serde::__private228::Ok(__Field::__field7),
"c-enum-min-bits" =>
_serde::__private228::Ok(__Field::__field8),
"os" => _serde::__private228::Ok(__Field::__field9),
"env" => _serde::__private228::Ok(__Field::__field10),
"abi" => _serde::__private228::Ok(__Field::__field11),
"vendor" => _serde::__private228::Ok(__Field::__field12),
"linker" => _serde::__private228::Ok(__Field::__field13),
"linker-flavor" =>
_serde::__private228::Ok(__Field::__field14),
"lld-flavor" =>
_serde::__private228::Ok(__Field::__field15),
"linker-is-gnu" =>
_serde::__private228::Ok(__Field::__field16),
"pre-link-objects" =>
_serde::__private228::Ok(__Field::__field17),
"post-link-objects" =>
_serde::__private228::Ok(__Field::__field18),
"pre-link-objects-fallback" =>
_serde::__private228::Ok(__Field::__field19),
"post-link-objects-fallback" =>
_serde::__private228::Ok(__Field::__field20),
"crt-objects-fallback" =>
_serde::__private228::Ok(__Field::__field21),
"link-self-contained" =>
_serde::__private228::Ok(__Field::__field22),
"pre-link-args" =>
_serde::__private228::Ok(__Field::__field23),
"late-link-args" =>
_serde::__private228::Ok(__Field::__field24),
"late-link-args-dynamic" =>
_serde::__private228::Ok(__Field::__field25),
"late-link-args-static" =>
_serde::__private228::Ok(__Field::__field26),
"post-link-args" =>
_serde::__private228::Ok(__Field::__field27),
"link-script" =>
_serde::__private228::Ok(__Field::__field28),
"link-env" => _serde::__private228::Ok(__Field::__field29),
"link-env-remove" =>
_serde::__private228::Ok(__Field::__field30),
"asm-args" => _serde::__private228::Ok(__Field::__field31),
"cpu" => _serde::__private228::Ok(__Field::__field32),
"need-explicit-cpu" =>
_serde::__private228::Ok(__Field::__field33),
"features" => _serde::__private228::Ok(__Field::__field34),
"dynamic-linking" =>
_serde::__private228::Ok(__Field::__field35),
"direct-access-external-data" =>
_serde::__private228::Ok(__Field::__field36),
"dll-tls-export" =>
_serde::__private228::Ok(__Field::__field37),
"only-cdylib" =>
_serde::__private228::Ok(__Field::__field38),
"executables" =>
_serde::__private228::Ok(__Field::__field39),
"relocation-model" =>
_serde::__private228::Ok(__Field::__field40),
"code-model" =>
_serde::__private228::Ok(__Field::__field41),
"tls-model" => _serde::__private228::Ok(__Field::__field42),
"disable-redzone" =>
_serde::__private228::Ok(__Field::__field43),
"function-sections" =>
_serde::__private228::Ok(__Field::__field44),
"dll-prefix" =>
_serde::__private228::Ok(__Field::__field45),
"dll-suffix" =>
_serde::__private228::Ok(__Field::__field46),
"exe-suffix" =>
_serde::__private228::Ok(__Field::__field47),
"staticlib-prefix" =>
_serde::__private228::Ok(__Field::__field48),
"staticlib-suffix" =>
_serde::__private228::Ok(__Field::__field49),
"target-family" =>
_serde::__private228::Ok(__Field::__field50),
"abi-return-struct-as-int" =>
_serde::__private228::Ok(__Field::__field51),
"is-like-aix" =>
_serde::__private228::Ok(__Field::__field52),
"is-like-darwin" =>
_serde::__private228::Ok(__Field::__field53),
"is-like-solaris" =>
_serde::__private228::Ok(__Field::__field54),
"is-like-windows" =>
_serde::__private228::Ok(__Field::__field55),
"is-like-gpu" =>
_serde::__private228::Ok(__Field::__field56),
"is-like-msvc" =>
_serde::__private228::Ok(__Field::__field57),
"is-like-wasm" =>
_serde::__private228::Ok(__Field::__field58),
"is-like-android" =>
_serde::__private228::Ok(__Field::__field59),
"is-like-vexos" =>
_serde::__private228::Ok(__Field::__field60),
"binary-format" =>
_serde::__private228::Ok(__Field::__field61),
"default-dwarf-version" =>
_serde::__private228::Ok(__Field::__field62),
"allows-weak-linkage" =>
_serde::__private228::Ok(__Field::__field63),
"has-rpath" => _serde::__private228::Ok(__Field::__field64),
"no-default-libraries" =>
_serde::__private228::Ok(__Field::__field65),
"position-independent-executables" =>
_serde::__private228::Ok(__Field::__field66),
"static-position-independent-executables" =>
_serde::__private228::Ok(__Field::__field67),
"plt-by-default" =>
_serde::__private228::Ok(__Field::__field68),
"relro-level" =>
_serde::__private228::Ok(__Field::__field69),
"archive-format" =>
_serde::__private228::Ok(__Field::__field70),
"allow-asm" => _serde::__private228::Ok(__Field::__field71),
"static-initializer-must-be-acyclic" =>
_serde::__private228::Ok(__Field::__field72),
"main-needs-argc-argv" =>
_serde::__private228::Ok(__Field::__field73),
"has-thread-local" =>
_serde::__private228::Ok(__Field::__field74),
"obj-is-bitcode" =>
_serde::__private228::Ok(__Field::__field75),
"max-atomic-width" =>
_serde::__private228::Ok(__Field::__field76),
"min-atomic-width" =>
_serde::__private228::Ok(__Field::__field77),
"atomic-cas" =>
_serde::__private228::Ok(__Field::__field78),
"panic-strategy" =>
_serde::__private228::Ok(__Field::__field79),
"crt-static-allows-dylibs" =>
_serde::__private228::Ok(__Field::__field80),
"crt-static-default" =>
_serde::__private228::Ok(__Field::__field81),
"crt-static-respected" =>
_serde::__private228::Ok(__Field::__field82),
"stack-probes" =>
_serde::__private228::Ok(__Field::__field83),
"min-global-align" =>
_serde::__private228::Ok(__Field::__field84),
"default-codegen-units" =>
_serde::__private228::Ok(__Field::__field85),
"default-codegen-backend" =>
_serde::__private228::Ok(__Field::__field86),
"trap-unreachable" =>
_serde::__private228::Ok(__Field::__field87),
"requires-lto" =>
_serde::__private228::Ok(__Field::__field88),
"singlethread" =>
_serde::__private228::Ok(__Field::__field89),
"no-builtins" =>
_serde::__private228::Ok(__Field::__field90),
"default-visibility" =>
_serde::__private228::Ok(__Field::__field91),
"emit-debug-gdb-scripts" =>
_serde::__private228::Ok(__Field::__field92),
"requires-uwtable" =>
_serde::__private228::Ok(__Field::__field93),
"default-uwtable" =>
_serde::__private228::Ok(__Field::__field94),
"simd-types-indirect" =>
_serde::__private228::Ok(__Field::__field95),
"limit-rdylib-exports" =>
_serde::__private228::Ok(__Field::__field96),
"override-export-symbols" =>
_serde::__private228::Ok(__Field::__field97),
"merge-functions" =>
_serde::__private228::Ok(__Field::__field98),
"target-mcount" =>
_serde::__private228::Ok(__Field::__field99),
"llvm-mcount-intrinsic" =>
_serde::__private228::Ok(__Field::__field100),
"llvm-abiname" =>
_serde::__private228::Ok(__Field::__field101),
"llvm-floatabi" =>
_serde::__private228::Ok(__Field::__field102),
"rustc-abi" =>
_serde::__private228::Ok(__Field::__field103),
"relax-elf-relocations" =>
_serde::__private228::Ok(__Field::__field104),
"llvm-args" =>
_serde::__private228::Ok(__Field::__field105),
"use-ctors-section" =>
_serde::__private228::Ok(__Field::__field106),
"eh-frame-header" =>
_serde::__private228::Ok(__Field::__field107),
"has-thumb-interworking" =>
_serde::__private228::Ok(__Field::__field108),
"debuginfo-kind" =>
_serde::__private228::Ok(__Field::__field109),
"split-debuginfo" =>
_serde::__private228::Ok(__Field::__field110),
"supported-split-debuginfo" =>
_serde::__private228::Ok(__Field::__field111),
"supported-sanitizers" =>
_serde::__private228::Ok(__Field::__field112),
"default-sanitizers" =>
_serde::__private228::Ok(__Field::__field113),
"generate-arange-section" =>
_serde::__private228::Ok(__Field::__field114),
"supports-stack-protector" =>
_serde::__private228::Ok(__Field::__field115),
"small-data-threshold-support" =>
_serde::__private228::Ok(__Field::__field116),
"entry-name" =>
_serde::__private228::Ok(__Field::__field117),
"supports-xray" =>
_serde::__private228::Ok(__Field::__field118),
"entry-abi" =>
_serde::__private228::Ok(__Field::__field119),
_ => {
_serde::__private228::Err(_serde::de::Error::unknown_field(__value,
FIELDS))
}
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"llvm-target" =>
_serde::__private228::Ok(__Field::__field0),
b"target-pointer-width" =>
_serde::__private228::Ok(__Field::__field1),
b"data-layout" =>
_serde::__private228::Ok(__Field::__field2),
b"arch" => _serde::__private228::Ok(__Field::__field3),
b"metadata" => _serde::__private228::Ok(__Field::__field4),
b"target-endian" =>
_serde::__private228::Ok(__Field::__field5),
b"frame-pointer" =>
_serde::__private228::Ok(__Field::__field6),
b"target-c-int-width" =>
_serde::__private228::Ok(__Field::__field7),
b"c-enum-min-bits" =>
_serde::__private228::Ok(__Field::__field8),
b"os" => _serde::__private228::Ok(__Field::__field9),
b"env" => _serde::__private228::Ok(__Field::__field10),
b"abi" => _serde::__private228::Ok(__Field::__field11),
b"vendor" => _serde::__private228::Ok(__Field::__field12),
b"linker" => _serde::__private228::Ok(__Field::__field13),
b"linker-flavor" =>
_serde::__private228::Ok(__Field::__field14),
b"lld-flavor" =>
_serde::__private228::Ok(__Field::__field15),
b"linker-is-gnu" =>
_serde::__private228::Ok(__Field::__field16),
b"pre-link-objects" =>
_serde::__private228::Ok(__Field::__field17),
b"post-link-objects" =>
_serde::__private228::Ok(__Field::__field18),
b"pre-link-objects-fallback" =>
_serde::__private228::Ok(__Field::__field19),
b"post-link-objects-fallback" =>
_serde::__private228::Ok(__Field::__field20),
b"crt-objects-fallback" =>
_serde::__private228::Ok(__Field::__field21),
b"link-self-contained" =>
_serde::__private228::Ok(__Field::__field22),
b"pre-link-args" =>
_serde::__private228::Ok(__Field::__field23),
b"late-link-args" =>
_serde::__private228::Ok(__Field::__field24),
b"late-link-args-dynamic" =>
_serde::__private228::Ok(__Field::__field25),
b"late-link-args-static" =>
_serde::__private228::Ok(__Field::__field26),
b"post-link-args" =>
_serde::__private228::Ok(__Field::__field27),
b"link-script" =>
_serde::__private228::Ok(__Field::__field28),
b"link-env" => _serde::__private228::Ok(__Field::__field29),
b"link-env-remove" =>
_serde::__private228::Ok(__Field::__field30),
b"asm-args" => _serde::__private228::Ok(__Field::__field31),
b"cpu" => _serde::__private228::Ok(__Field::__field32),
b"need-explicit-cpu" =>
_serde::__private228::Ok(__Field::__field33),
b"features" => _serde::__private228::Ok(__Field::__field34),
b"dynamic-linking" =>
_serde::__private228::Ok(__Field::__field35),
b"direct-access-external-data" =>
_serde::__private228::Ok(__Field::__field36),
b"dll-tls-export" =>
_serde::__private228::Ok(__Field::__field37),
b"only-cdylib" =>
_serde::__private228::Ok(__Field::__field38),
b"executables" =>
_serde::__private228::Ok(__Field::__field39),
b"relocation-model" =>
_serde::__private228::Ok(__Field::__field40),
b"code-model" =>
_serde::__private228::Ok(__Field::__field41),
b"tls-model" =>
_serde::__private228::Ok(__Field::__field42),
b"disable-redzone" =>
_serde::__private228::Ok(__Field::__field43),
b"function-sections" =>
_serde::__private228::Ok(__Field::__field44),
b"dll-prefix" =>
_serde::__private228::Ok(__Field::__field45),
b"dll-suffix" =>
_serde::__private228::Ok(__Field::__field46),
b"exe-suffix" =>
_serde::__private228::Ok(__Field::__field47),
b"staticlib-prefix" =>
_serde::__private228::Ok(__Field::__field48),
b"staticlib-suffix" =>
_serde::__private228::Ok(__Field::__field49),
b"target-family" =>
_serde::__private228::Ok(__Field::__field50),
b"abi-return-struct-as-int" =>
_serde::__private228::Ok(__Field::__field51),
b"is-like-aix" =>
_serde::__private228::Ok(__Field::__field52),
b"is-like-darwin" =>
_serde::__private228::Ok(__Field::__field53),
b"is-like-solaris" =>
_serde::__private228::Ok(__Field::__field54),
b"is-like-windows" =>
_serde::__private228::Ok(__Field::__field55),
b"is-like-gpu" =>
_serde::__private228::Ok(__Field::__field56),
b"is-like-msvc" =>
_serde::__private228::Ok(__Field::__field57),
b"is-like-wasm" =>
_serde::__private228::Ok(__Field::__field58),
b"is-like-android" =>
_serde::__private228::Ok(__Field::__field59),
b"is-like-vexos" =>
_serde::__private228::Ok(__Field::__field60),
b"binary-format" =>
_serde::__private228::Ok(__Field::__field61),
b"default-dwarf-version" =>
_serde::__private228::Ok(__Field::__field62),
b"allows-weak-linkage" =>
_serde::__private228::Ok(__Field::__field63),
b"has-rpath" =>
_serde::__private228::Ok(__Field::__field64),
b"no-default-libraries" =>
_serde::__private228::Ok(__Field::__field65),
b"position-independent-executables" =>
_serde::__private228::Ok(__Field::__field66),
b"static-position-independent-executables" =>
_serde::__private228::Ok(__Field::__field67),
b"plt-by-default" =>
_serde::__private228::Ok(__Field::__field68),
b"relro-level" =>
_serde::__private228::Ok(__Field::__field69),
b"archive-format" =>
_serde::__private228::Ok(__Field::__field70),
b"allow-asm" =>
_serde::__private228::Ok(__Field::__field71),
b"static-initializer-must-be-acyclic" =>
_serde::__private228::Ok(__Field::__field72),
b"main-needs-argc-argv" =>
_serde::__private228::Ok(__Field::__field73),
b"has-thread-local" =>
_serde::__private228::Ok(__Field::__field74),
b"obj-is-bitcode" =>
_serde::__private228::Ok(__Field::__field75),
b"max-atomic-width" =>
_serde::__private228::Ok(__Field::__field76),
b"min-atomic-width" =>
_serde::__private228::Ok(__Field::__field77),
b"atomic-cas" =>
_serde::__private228::Ok(__Field::__field78),
b"panic-strategy" =>
_serde::__private228::Ok(__Field::__field79),
b"crt-static-allows-dylibs" =>
_serde::__private228::Ok(__Field::__field80),
b"crt-static-default" =>
_serde::__private228::Ok(__Field::__field81),
b"crt-static-respected" =>
_serde::__private228::Ok(__Field::__field82),
b"stack-probes" =>
_serde::__private228::Ok(__Field::__field83),
b"min-global-align" =>
_serde::__private228::Ok(__Field::__field84),
b"default-codegen-units" =>
_serde::__private228::Ok(__Field::__field85),
b"default-codegen-backend" =>
_serde::__private228::Ok(__Field::__field86),
b"trap-unreachable" =>
_serde::__private228::Ok(__Field::__field87),
b"requires-lto" =>
_serde::__private228::Ok(__Field::__field88),
b"singlethread" =>
_serde::__private228::Ok(__Field::__field89),
b"no-builtins" =>
_serde::__private228::Ok(__Field::__field90),
b"default-visibility" =>
_serde::__private228::Ok(__Field::__field91),
b"emit-debug-gdb-scripts" =>
_serde::__private228::Ok(__Field::__field92),
b"requires-uwtable" =>
_serde::__private228::Ok(__Field::__field93),
b"default-uwtable" =>
_serde::__private228::Ok(__Field::__field94),
b"simd-types-indirect" =>
_serde::__private228::Ok(__Field::__field95),
b"limit-rdylib-exports" =>
_serde::__private228::Ok(__Field::__field96),
b"override-export-symbols" =>
_serde::__private228::Ok(__Field::__field97),
b"merge-functions" =>
_serde::__private228::Ok(__Field::__field98),
b"target-mcount" =>
_serde::__private228::Ok(__Field::__field99),
b"llvm-mcount-intrinsic" =>
_serde::__private228::Ok(__Field::__field100),
b"llvm-abiname" =>
_serde::__private228::Ok(__Field::__field101),
b"llvm-floatabi" =>
_serde::__private228::Ok(__Field::__field102),
b"rustc-abi" =>
_serde::__private228::Ok(__Field::__field103),
b"relax-elf-relocations" =>
_serde::__private228::Ok(__Field::__field104),
b"llvm-args" =>
_serde::__private228::Ok(__Field::__field105),
b"use-ctors-section" =>
_serde::__private228::Ok(__Field::__field106),
b"eh-frame-header" =>
_serde::__private228::Ok(__Field::__field107),
b"has-thumb-interworking" =>
_serde::__private228::Ok(__Field::__field108),
b"debuginfo-kind" =>
_serde::__private228::Ok(__Field::__field109),
b"split-debuginfo" =>
_serde::__private228::Ok(__Field::__field110),
b"supported-split-debuginfo" =>
_serde::__private228::Ok(__Field::__field111),
b"supported-sanitizers" =>
_serde::__private228::Ok(__Field::__field112),
b"default-sanitizers" =>
_serde::__private228::Ok(__Field::__field113),
b"generate-arange-section" =>
_serde::__private228::Ok(__Field::__field114),
b"supports-stack-protector" =>
_serde::__private228::Ok(__Field::__field115),
b"small-data-threshold-support" =>
_serde::__private228::Ok(__Field::__field116),
b"entry-name" =>
_serde::__private228::Ok(__Field::__field117),
b"supports-xray" =>
_serde::__private228::Ok(__Field::__field118),
b"entry-abi" =>
_serde::__private228::Ok(__Field::__field119),
_ => {
let __value =
&_serde::__private228::from_utf8_lossy(__value);
_serde::__private228::Err(_serde::de::Error::unknown_field(__value,
FIELDS))
}
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<TargetSpecJson>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = TargetSpecJson;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct TargetSpecJson")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<StaticCow<str>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<u16>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<StaticCow<str>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field3 =
match _serde::de::SeqAccess::next_element::<Arch>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(3usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field4 =
match _serde::de::SeqAccess::next_element::<Option<TargetSpecJsonMetadata>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(4usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field5 =
match _serde::de::SeqAccess::next_element::<Option<EndianWrapper>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(5usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field6 =
match _serde::de::SeqAccess::next_element::<Option<FramePointer>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(6usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field7 =
match _serde::de::SeqAccess::next_element::<Option<u16>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(7usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field8 =
match _serde::de::SeqAccess::next_element::<Option<u64>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(8usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field9 =
match _serde::de::SeqAccess::next_element::<Option<Os>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(9usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field10 =
match _serde::de::SeqAccess::next_element::<Option<Env>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(10usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field11 =
match _serde::de::SeqAccess::next_element::<Option<Abi>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(11usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field12 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(12usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field13 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(13usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field14 =
match _serde::de::SeqAccess::next_element::<Option<LinkerFlavorCli>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(14usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field15 =
match _serde::de::SeqAccess::next_element::<Option<LldFlavor>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(15usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field16 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(16usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field17 =
match _serde::de::SeqAccess::next_element::<Option<CrtObjects>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(17usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field18 =
match _serde::de::SeqAccess::next_element::<Option<CrtObjects>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(18usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field19 =
match _serde::de::SeqAccess::next_element::<Option<CrtObjects>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(19usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field20 =
match _serde::de::SeqAccess::next_element::<Option<CrtObjects>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(20usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field21 =
match _serde::de::SeqAccess::next_element::<Option<LinkSelfContainedDefault>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(21usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field22 =
match _serde::de::SeqAccess::next_element::<Option<LinkSelfContainedComponentsWrapper>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(22usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field23 =
match _serde::de::SeqAccess::next_element::<Option<LinkArgsCli>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(23usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field24 =
match _serde::de::SeqAccess::next_element::<Option<LinkArgsCli>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(24usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field25 =
match _serde::de::SeqAccess::next_element::<Option<LinkArgsCli>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(25usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field26 =
match _serde::de::SeqAccess::next_element::<Option<LinkArgsCli>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(26usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field27 =
match _serde::de::SeqAccess::next_element::<Option<LinkArgsCli>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(27usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field28 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(28usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field29 =
match _serde::de::SeqAccess::next_element::<Option<Vec<StaticCow<str>>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(29usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field30 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<[StaticCow<str>]>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(30usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field31 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<[StaticCow<str>]>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(31usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field32 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(32usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field33 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(33usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field34 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(34usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field35 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(35usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field36 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(36usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field37 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(37usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field38 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(38usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field39 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(39usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field40 =
match _serde::de::SeqAccess::next_element::<Option<RelocModel>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(40usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field41 =
match _serde::de::SeqAccess::next_element::<Option<CodeModel>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(41usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field42 =
match _serde::de::SeqAccess::next_element::<Option<TlsModel>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(42usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field43 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(43usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field44 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(44usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field45 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(45usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field46 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(46usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field47 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(47usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field48 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(48usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field49 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(49usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field50 =
match _serde::de::SeqAccess::next_element::<Option<TargetFamiliesJson>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(50usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field51 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(51usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field52 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(52usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field53 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(53usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field54 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(54usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field55 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(55usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field56 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(56usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field57 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(57usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field58 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(58usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field59 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(59usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field60 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(60usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field61 =
match _serde::de::SeqAccess::next_element::<Option<BinaryFormat>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(61usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field62 =
match _serde::de::SeqAccess::next_element::<Option<u32>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(62usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field63 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(63usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field64 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(64usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field65 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(65usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field66 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(66usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field67 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(67usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field68 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(68usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field69 =
match _serde::de::SeqAccess::next_element::<Option<RelroLevel>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(69usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field70 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(70usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field71 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(71usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field72 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(72usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field73 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(73usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field74 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(74usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field75 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(75usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field76 =
match _serde::de::SeqAccess::next_element::<Option<u64>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(76usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field77 =
match _serde::de::SeqAccess::next_element::<Option<u64>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(77usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field78 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(78usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field79 =
match _serde::de::SeqAccess::next_element::<Option<PanicStrategy>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(79usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field80 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(80usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field81 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(81usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field82 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(82usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field83 =
match _serde::de::SeqAccess::next_element::<Option<StackProbeType>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(83usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field84 =
match _serde::de::SeqAccess::next_element::<Option<u64>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(84usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field85 =
match _serde::de::SeqAccess::next_element::<Option<u64>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(85usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field86 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(86usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field87 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(87usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field88 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(88usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field89 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(89usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field90 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(90usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field91 =
match _serde::de::SeqAccess::next_element::<Option<SymbolVisibility>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(91usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field92 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(92usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field93 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(93usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field94 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(94usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field95 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(95usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field96 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(96usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field97 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<[StaticCow<str>]>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(97usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field98 =
match _serde::de::SeqAccess::next_element::<Option<MergeFunctions>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(98usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field99 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(99usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field100 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(100usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field101 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(101usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field102 =
match _serde::de::SeqAccess::next_element::<Option<FloatAbi>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(102usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field103 =
match _serde::de::SeqAccess::next_element::<Option<RustcAbi>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(103usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field104 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(104usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field105 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<[StaticCow<str>]>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(105usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field106 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(106usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field107 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(107usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field108 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(108usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field109 =
match _serde::de::SeqAccess::next_element::<Option<DebuginfoKind>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(109usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field110 =
match _serde::de::SeqAccess::next_element::<Option<SplitDebuginfo>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(110usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field111 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<[SplitDebuginfo]>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(111usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field112 =
match _serde::de::SeqAccess::next_element::<Option<Vec<SanitizerSet>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(112usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field113 =
match _serde::de::SeqAccess::next_element::<Option<Vec<SanitizerSet>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(113usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field114 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(114usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field115 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(115usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field116 =
match _serde::de::SeqAccess::next_element::<Option<SmallDataThresholdSupport>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(116usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field117 =
match _serde::de::SeqAccess::next_element::<Option<StaticCow<str>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(117usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field118 =
match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(118usize,
&"struct TargetSpecJson with 120 elements")),
};
let __field119 =
match _serde::de::SeqAccess::next_element::<Option<ExternAbiWrapper>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(119usize,
&"struct TargetSpecJson with 120 elements")),
};
_serde::__private228::Ok(TargetSpecJson {
llvm_target: __field0,
target_pointer_width: __field1,
data_layout: __field2,
arch: __field3,
metadata: __field4,
target_endian: __field5,
frame_pointer: __field6,
c_int_width: __field7,
c_enum_min_bits: __field8,
os: __field9,
env: __field10,
abi: __field11,
vendor: __field12,
linker: __field13,
linker_flavor_json: __field14,
lld_flavor_json: __field15,
linker_is_gnu_json: __field16,
pre_link_objects: __field17,
post_link_objects: __field18,
pre_link_objects_self_contained: __field19,
post_link_objects_self_contained: __field20,
link_self_contained_backwards_compatible: __field21,
link_self_contained: __field22,
pre_link_args_json: __field23,
late_link_args_json: __field24,
late_link_args_dynamic_json: __field25,
late_link_args_static_json: __field26,
post_link_args_json: __field27,
link_script: __field28,
link_env: __field29,
link_env_remove: __field30,
asm_args: __field31,
cpu: __field32,
need_explicit_cpu: __field33,
features: __field34,
dynamic_linking: __field35,
direct_access_external_data: __field36,
dll_tls_export: __field37,
only_cdylib: __field38,
executables: __field39,
relocation_model: __field40,
code_model: __field41,
tls_model: __field42,
disable_redzone: __field43,
function_sections: __field44,
dll_prefix: __field45,
dll_suffix: __field46,
exe_suffix: __field47,
staticlib_prefix: __field48,
staticlib_suffix: __field49,
target_family: __field50,
abi_return_struct_as_int: __field51,
is_like_aix: __field52,
is_like_darwin: __field53,
is_like_solaris: __field54,
is_like_windows: __field55,
is_like_gpu: __field56,
is_like_msvc: __field57,
is_like_wasm: __field58,
is_like_android: __field59,
is_like_vexos: __field60,
binary_format: __field61,
default_dwarf_version: __field62,
allows_weak_linkage: __field63,
has_rpath: __field64,
no_default_libraries: __field65,
position_independent_executables: __field66,
static_position_independent_executables: __field67,
plt_by_default: __field68,
relro_level: __field69,
archive_format: __field70,
allow_asm: __field71,
static_initializer_must_be_acyclic: __field72,
main_needs_argc_argv: __field73,
has_thread_local: __field74,
obj_is_bitcode: __field75,
max_atomic_width: __field76,
min_atomic_width: __field77,
atomic_cas: __field78,
panic_strategy: __field79,
crt_static_allows_dylibs: __field80,
crt_static_default: __field81,
crt_static_respected: __field82,
stack_probes: __field83,
min_global_align: __field84,
default_codegen_units: __field85,
default_codegen_backend: __field86,
trap_unreachable: __field87,
requires_lto: __field88,
singlethread: __field89,
no_builtins: __field90,
default_visibility: __field91,
emit_debug_gdb_scripts: __field92,
requires_uwtable: __field93,
default_uwtable: __field94,
simd_types_indirect: __field95,
limit_rdylib_exports: __field96,
override_export_symbols: __field97,
merge_functions: __field98,
mcount: __field99,
llvm_mcount_intrinsic: __field100,
llvm_abiname: __field101,
llvm_floatabi: __field102,
rustc_abi: __field103,
relax_elf_relocations: __field104,
llvm_args: __field105,
use_ctors_section: __field106,
eh_frame_header: __field107,
has_thumb_interworking: __field108,
debuginfo_kind: __field109,
split_debuginfo: __field110,
supported_split_debuginfo: __field111,
supported_sanitizers: __field112,
default_sanitizers: __field113,
generate_arange_section: __field114,
supports_stack_protector: __field115,
small_data_threshold_support: __field116,
entry_name: __field117,
supports_xray: __field118,
entry_abi: __field119,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0:
_serde::__private228::Option<StaticCow<str>> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<u16> =
_serde::__private228::None;
let mut __field2:
_serde::__private228::Option<StaticCow<str>> =
_serde::__private228::None;
let mut __field3: _serde::__private228::Option<Arch> =
_serde::__private228::None;
let mut __field4:
_serde::__private228::Option<Option<TargetSpecJsonMetadata>> =
_serde::__private228::None;
let mut __field5:
_serde::__private228::Option<Option<EndianWrapper>> =
_serde::__private228::None;
let mut __field6:
_serde::__private228::Option<Option<FramePointer>> =
_serde::__private228::None;
let mut __field7:
_serde::__private228::Option<Option<u16>> =
_serde::__private228::None;
let mut __field8:
_serde::__private228::Option<Option<u64>> =
_serde::__private228::None;
let mut __field9: _serde::__private228::Option<Option<Os>> =
_serde::__private228::None;
let mut __field10:
_serde::__private228::Option<Option<Env>> =
_serde::__private228::None;
let mut __field11:
_serde::__private228::Option<Option<Abi>> =
_serde::__private228::None;
let mut __field12:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field13:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field14:
_serde::__private228::Option<Option<LinkerFlavorCli>> =
_serde::__private228::None;
let mut __field15:
_serde::__private228::Option<Option<LldFlavor>> =
_serde::__private228::None;
let mut __field16:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field17:
_serde::__private228::Option<Option<CrtObjects>> =
_serde::__private228::None;
let mut __field18:
_serde::__private228::Option<Option<CrtObjects>> =
_serde::__private228::None;
let mut __field19:
_serde::__private228::Option<Option<CrtObjects>> =
_serde::__private228::None;
let mut __field20:
_serde::__private228::Option<Option<CrtObjects>> =
_serde::__private228::None;
let mut __field21:
_serde::__private228::Option<Option<LinkSelfContainedDefault>> =
_serde::__private228::None;
let mut __field22:
_serde::__private228::Option<Option<LinkSelfContainedComponentsWrapper>> =
_serde::__private228::None;
let mut __field23:
_serde::__private228::Option<Option<LinkArgsCli>> =
_serde::__private228::None;
let mut __field24:
_serde::__private228::Option<Option<LinkArgsCli>> =
_serde::__private228::None;
let mut __field25:
_serde::__private228::Option<Option<LinkArgsCli>> =
_serde::__private228::None;
let mut __field26:
_serde::__private228::Option<Option<LinkArgsCli>> =
_serde::__private228::None;
let mut __field27:
_serde::__private228::Option<Option<LinkArgsCli>> =
_serde::__private228::None;
let mut __field28:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field29:
_serde::__private228::Option<Option<Vec<StaticCow<str>>>> =
_serde::__private228::None;
let mut __field30:
_serde::__private228::Option<Option<StaticCow<[StaticCow<str>]>>> =
_serde::__private228::None;
let mut __field31:
_serde::__private228::Option<Option<StaticCow<[StaticCow<str>]>>> =
_serde::__private228::None;
let mut __field32:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field33:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field34:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field35:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field36:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field37:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field38:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field39:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field40:
_serde::__private228::Option<Option<RelocModel>> =
_serde::__private228::None;
let mut __field41:
_serde::__private228::Option<Option<CodeModel>> =
_serde::__private228::None;
let mut __field42:
_serde::__private228::Option<Option<TlsModel>> =
_serde::__private228::None;
let mut __field43:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field44:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field45:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field46:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field47:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field48:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field49:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field50:
_serde::__private228::Option<Option<TargetFamiliesJson>> =
_serde::__private228::None;
let mut __field51:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field52:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field53:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field54:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field55:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field56:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field57:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field58:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field59:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field60:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field61:
_serde::__private228::Option<Option<BinaryFormat>> =
_serde::__private228::None;
let mut __field62:
_serde::__private228::Option<Option<u32>> =
_serde::__private228::None;
let mut __field63:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field64:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field65:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field66:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field67:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field68:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field69:
_serde::__private228::Option<Option<RelroLevel>> =
_serde::__private228::None;
let mut __field70:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field71:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field72:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field73:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field74:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field75:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field76:
_serde::__private228::Option<Option<u64>> =
_serde::__private228::None;
let mut __field77:
_serde::__private228::Option<Option<u64>> =
_serde::__private228::None;
let mut __field78:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field79:
_serde::__private228::Option<Option<PanicStrategy>> =
_serde::__private228::None;
let mut __field80:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field81:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field82:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field83:
_serde::__private228::Option<Option<StackProbeType>> =
_serde::__private228::None;
let mut __field84:
_serde::__private228::Option<Option<u64>> =
_serde::__private228::None;
let mut __field85:
_serde::__private228::Option<Option<u64>> =
_serde::__private228::None;
let mut __field86:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field87:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field88:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field89:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field90:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field91:
_serde::__private228::Option<Option<SymbolVisibility>> =
_serde::__private228::None;
let mut __field92:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field93:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field94:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field95:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field96:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field97:
_serde::__private228::Option<Option<StaticCow<[StaticCow<str>]>>> =
_serde::__private228::None;
let mut __field98:
_serde::__private228::Option<Option<MergeFunctions>> =
_serde::__private228::None;
let mut __field99:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field100:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field101:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field102:
_serde::__private228::Option<Option<FloatAbi>> =
_serde::__private228::None;
let mut __field103:
_serde::__private228::Option<Option<RustcAbi>> =
_serde::__private228::None;
let mut __field104:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field105:
_serde::__private228::Option<Option<StaticCow<[StaticCow<str>]>>> =
_serde::__private228::None;
let mut __field106:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field107:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field108:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field109:
_serde::__private228::Option<Option<DebuginfoKind>> =
_serde::__private228::None;
let mut __field110:
_serde::__private228::Option<Option<SplitDebuginfo>> =
_serde::__private228::None;
let mut __field111:
_serde::__private228::Option<Option<StaticCow<[SplitDebuginfo]>>> =
_serde::__private228::None;
let mut __field112:
_serde::__private228::Option<Option<Vec<SanitizerSet>>> =
_serde::__private228::None;
let mut __field113:
_serde::__private228::Option<Option<Vec<SanitizerSet>>> =
_serde::__private228::None;
let mut __field114:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field115:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field116:
_serde::__private228::Option<Option<SmallDataThresholdSupport>> =
_serde::__private228::None;
let mut __field117:
_serde::__private228::Option<Option<StaticCow<str>>> =
_serde::__private228::None;
let mut __field118:
_serde::__private228::Option<Option<bool>> =
_serde::__private228::None;
let mut __field119:
_serde::__private228::Option<Option<ExternAbiWrapper>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("llvm-target"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<StaticCow<str>>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("target-pointer-width"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<u16>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("data-layout"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<StaticCow<str>>(&mut __map)?);
}
__Field::__field3 => {
if _serde::__private228::Option::is_some(&__field3) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("arch"));
}
__field3 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Arch>(&mut __map)?);
}
__Field::__field4 => {
if _serde::__private228::Option::is_some(&__field4) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("metadata"));
}
__field4 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<TargetSpecJsonMetadata>>(&mut __map)?);
}
__Field::__field5 => {
if _serde::__private228::Option::is_some(&__field5) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("target-endian"));
}
__field5 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<EndianWrapper>>(&mut __map)?);
}
__Field::__field6 => {
if _serde::__private228::Option::is_some(&__field6) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("frame-pointer"));
}
__field6 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<FramePointer>>(&mut __map)?);
}
__Field::__field7 => {
if _serde::__private228::Option::is_some(&__field7) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("target-c-int-width"));
}
__field7 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<u16>>(&mut __map)?);
}
__Field::__field8 => {
if _serde::__private228::Option::is_some(&__field8) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("c-enum-min-bits"));
}
__field8 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<u64>>(&mut __map)?);
}
__Field::__field9 => {
if _serde::__private228::Option::is_some(&__field9) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("os"));
}
__field9 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Os>>(&mut __map)?);
}
__Field::__field10 => {
if _serde::__private228::Option::is_some(&__field10) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("env"));
}
__field10 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Env>>(&mut __map)?);
}
__Field::__field11 => {
if _serde::__private228::Option::is_some(&__field11) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("abi"));
}
__field11 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Abi>>(&mut __map)?);
}
__Field::__field12 => {
if _serde::__private228::Option::is_some(&__field12) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("vendor"));
}
__field12 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field13 => {
if _serde::__private228::Option::is_some(&__field13) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("linker"));
}
__field13 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field14 => {
if _serde::__private228::Option::is_some(&__field14) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("linker-flavor"));
}
__field14 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<LinkerFlavorCli>>(&mut __map)?);
}
__Field::__field15 => {
if _serde::__private228::Option::is_some(&__field15) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("lld-flavor"));
}
__field15 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<LldFlavor>>(&mut __map)?);
}
__Field::__field16 => {
if _serde::__private228::Option::is_some(&__field16) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("linker-is-gnu"));
}
__field16 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field17 => {
if _serde::__private228::Option::is_some(&__field17) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("pre-link-objects"));
}
__field17 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<CrtObjects>>(&mut __map)?);
}
__Field::__field18 => {
if _serde::__private228::Option::is_some(&__field18) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("post-link-objects"));
}
__field18 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<CrtObjects>>(&mut __map)?);
}
__Field::__field19 => {
if _serde::__private228::Option::is_some(&__field19) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("pre-link-objects-fallback"));
}
__field19 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<CrtObjects>>(&mut __map)?);
}
__Field::__field20 => {
if _serde::__private228::Option::is_some(&__field20) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("post-link-objects-fallback"));
}
__field20 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<CrtObjects>>(&mut __map)?);
}
__Field::__field21 => {
if _serde::__private228::Option::is_some(&__field21) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("crt-objects-fallback"));
}
__field21 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<LinkSelfContainedDefault>>(&mut __map)?);
}
__Field::__field22 => {
if _serde::__private228::Option::is_some(&__field22) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("link-self-contained"));
}
__field22 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<LinkSelfContainedComponentsWrapper>>(&mut __map)?);
}
__Field::__field23 => {
if _serde::__private228::Option::is_some(&__field23) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("pre-link-args"));
}
__field23 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<LinkArgsCli>>(&mut __map)?);
}
__Field::__field24 => {
if _serde::__private228::Option::is_some(&__field24) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("late-link-args"));
}
__field24 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<LinkArgsCli>>(&mut __map)?);
}
__Field::__field25 => {
if _serde::__private228::Option::is_some(&__field25) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("late-link-args-dynamic"));
}
__field25 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<LinkArgsCli>>(&mut __map)?);
}
__Field::__field26 => {
if _serde::__private228::Option::is_some(&__field26) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("late-link-args-static"));
}
__field26 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<LinkArgsCli>>(&mut __map)?);
}
__Field::__field27 => {
if _serde::__private228::Option::is_some(&__field27) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("post-link-args"));
}
__field27 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<LinkArgsCli>>(&mut __map)?);
}
__Field::__field28 => {
if _serde::__private228::Option::is_some(&__field28) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("link-script"));
}
__field28 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field29 => {
if _serde::__private228::Option::is_some(&__field29) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("link-env"));
}
__field29 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Vec<StaticCow<str>>>>(&mut __map)?);
}
__Field::__field30 => {
if _serde::__private228::Option::is_some(&__field30) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("link-env-remove"));
}
__field30 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<[StaticCow<str>]>>>(&mut __map)?);
}
__Field::__field31 => {
if _serde::__private228::Option::is_some(&__field31) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("asm-args"));
}
__field31 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<[StaticCow<str>]>>>(&mut __map)?);
}
__Field::__field32 => {
if _serde::__private228::Option::is_some(&__field32) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("cpu"));
}
__field32 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field33 => {
if _serde::__private228::Option::is_some(&__field33) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("need-explicit-cpu"));
}
__field33 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field34 => {
if _serde::__private228::Option::is_some(&__field34) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("features"));
}
__field34 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field35 => {
if _serde::__private228::Option::is_some(&__field35) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("dynamic-linking"));
}
__field35 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field36 => {
if _serde::__private228::Option::is_some(&__field36) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("direct-access-external-data"));
}
__field36 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field37 => {
if _serde::__private228::Option::is_some(&__field37) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("dll-tls-export"));
}
__field37 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field38 => {
if _serde::__private228::Option::is_some(&__field38) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("only-cdylib"));
}
__field38 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field39 => {
if _serde::__private228::Option::is_some(&__field39) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("executables"));
}
__field39 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field40 => {
if _serde::__private228::Option::is_some(&__field40) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("relocation-model"));
}
__field40 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<RelocModel>>(&mut __map)?);
}
__Field::__field41 => {
if _serde::__private228::Option::is_some(&__field41) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("code-model"));
}
__field41 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<CodeModel>>(&mut __map)?);
}
__Field::__field42 => {
if _serde::__private228::Option::is_some(&__field42) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("tls-model"));
}
__field42 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<TlsModel>>(&mut __map)?);
}
__Field::__field43 => {
if _serde::__private228::Option::is_some(&__field43) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("disable-redzone"));
}
__field43 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field44 => {
if _serde::__private228::Option::is_some(&__field44) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("function-sections"));
}
__field44 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field45 => {
if _serde::__private228::Option::is_some(&__field45) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("dll-prefix"));
}
__field45 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field46 => {
if _serde::__private228::Option::is_some(&__field46) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("dll-suffix"));
}
__field46 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field47 => {
if _serde::__private228::Option::is_some(&__field47) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("exe-suffix"));
}
__field47 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field48 => {
if _serde::__private228::Option::is_some(&__field48) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("staticlib-prefix"));
}
__field48 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field49 => {
if _serde::__private228::Option::is_some(&__field49) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("staticlib-suffix"));
}
__field49 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field50 => {
if _serde::__private228::Option::is_some(&__field50) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("target-family"));
}
__field50 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<TargetFamiliesJson>>(&mut __map)?);
}
__Field::__field51 => {
if _serde::__private228::Option::is_some(&__field51) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("abi-return-struct-as-int"));
}
__field51 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field52 => {
if _serde::__private228::Option::is_some(&__field52) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("is-like-aix"));
}
__field52 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field53 => {
if _serde::__private228::Option::is_some(&__field53) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("is-like-darwin"));
}
__field53 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field54 => {
if _serde::__private228::Option::is_some(&__field54) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("is-like-solaris"));
}
__field54 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field55 => {
if _serde::__private228::Option::is_some(&__field55) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("is-like-windows"));
}
__field55 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field56 => {
if _serde::__private228::Option::is_some(&__field56) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("is-like-gpu"));
}
__field56 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field57 => {
if _serde::__private228::Option::is_some(&__field57) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("is-like-msvc"));
}
__field57 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field58 => {
if _serde::__private228::Option::is_some(&__field58) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("is-like-wasm"));
}
__field58 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field59 => {
if _serde::__private228::Option::is_some(&__field59) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("is-like-android"));
}
__field59 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field60 => {
if _serde::__private228::Option::is_some(&__field60) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("is-like-vexos"));
}
__field60 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field61 => {
if _serde::__private228::Option::is_some(&__field61) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("binary-format"));
}
__field61 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<BinaryFormat>>(&mut __map)?);
}
__Field::__field62 => {
if _serde::__private228::Option::is_some(&__field62) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("default-dwarf-version"));
}
__field62 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<u32>>(&mut __map)?);
}
__Field::__field63 => {
if _serde::__private228::Option::is_some(&__field63) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("allows-weak-linkage"));
}
__field63 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field64 => {
if _serde::__private228::Option::is_some(&__field64) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("has-rpath"));
}
__field64 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field65 => {
if _serde::__private228::Option::is_some(&__field65) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("no-default-libraries"));
}
__field65 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field66 => {
if _serde::__private228::Option::is_some(&__field66) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("position-independent-executables"));
}
__field66 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field67 => {
if _serde::__private228::Option::is_some(&__field67) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("static-position-independent-executables"));
}
__field67 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field68 => {
if _serde::__private228::Option::is_some(&__field68) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("plt-by-default"));
}
__field68 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field69 => {
if _serde::__private228::Option::is_some(&__field69) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("relro-level"));
}
__field69 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<RelroLevel>>(&mut __map)?);
}
__Field::__field70 => {
if _serde::__private228::Option::is_some(&__field70) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("archive-format"));
}
__field70 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field71 => {
if _serde::__private228::Option::is_some(&__field71) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("allow-asm"));
}
__field71 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field72 => {
if _serde::__private228::Option::is_some(&__field72) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("static-initializer-must-be-acyclic"));
}
__field72 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field73 => {
if _serde::__private228::Option::is_some(&__field73) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("main-needs-argc-argv"));
}
__field73 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field74 => {
if _serde::__private228::Option::is_some(&__field74) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("has-thread-local"));
}
__field74 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field75 => {
if _serde::__private228::Option::is_some(&__field75) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("obj-is-bitcode"));
}
__field75 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field76 => {
if _serde::__private228::Option::is_some(&__field76) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("max-atomic-width"));
}
__field76 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<u64>>(&mut __map)?);
}
__Field::__field77 => {
if _serde::__private228::Option::is_some(&__field77) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("min-atomic-width"));
}
__field77 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<u64>>(&mut __map)?);
}
__Field::__field78 => {
if _serde::__private228::Option::is_some(&__field78) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("atomic-cas"));
}
__field78 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field79 => {
if _serde::__private228::Option::is_some(&__field79) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("panic-strategy"));
}
__field79 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<PanicStrategy>>(&mut __map)?);
}
__Field::__field80 => {
if _serde::__private228::Option::is_some(&__field80) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("crt-static-allows-dylibs"));
}
__field80 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field81 => {
if _serde::__private228::Option::is_some(&__field81) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("crt-static-default"));
}
__field81 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field82 => {
if _serde::__private228::Option::is_some(&__field82) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("crt-static-respected"));
}
__field82 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field83 => {
if _serde::__private228::Option::is_some(&__field83) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("stack-probes"));
}
__field83 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StackProbeType>>(&mut __map)?);
}
__Field::__field84 => {
if _serde::__private228::Option::is_some(&__field84) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("min-global-align"));
}
__field84 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<u64>>(&mut __map)?);
}
__Field::__field85 => {
if _serde::__private228::Option::is_some(&__field85) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("default-codegen-units"));
}
__field85 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<u64>>(&mut __map)?);
}
__Field::__field86 => {
if _serde::__private228::Option::is_some(&__field86) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("default-codegen-backend"));
}
__field86 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field87 => {
if _serde::__private228::Option::is_some(&__field87) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("trap-unreachable"));
}
__field87 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field88 => {
if _serde::__private228::Option::is_some(&__field88) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("requires-lto"));
}
__field88 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field89 => {
if _serde::__private228::Option::is_some(&__field89) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("singlethread"));
}
__field89 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field90 => {
if _serde::__private228::Option::is_some(&__field90) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("no-builtins"));
}
__field90 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field91 => {
if _serde::__private228::Option::is_some(&__field91) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("default-visibility"));
}
__field91 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<SymbolVisibility>>(&mut __map)?);
}
__Field::__field92 => {
if _serde::__private228::Option::is_some(&__field92) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("emit-debug-gdb-scripts"));
}
__field92 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field93 => {
if _serde::__private228::Option::is_some(&__field93) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("requires-uwtable"));
}
__field93 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field94 => {
if _serde::__private228::Option::is_some(&__field94) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("default-uwtable"));
}
__field94 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field95 => {
if _serde::__private228::Option::is_some(&__field95) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("simd-types-indirect"));
}
__field95 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field96 => {
if _serde::__private228::Option::is_some(&__field96) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("limit-rdylib-exports"));
}
__field96 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field97 => {
if _serde::__private228::Option::is_some(&__field97) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("override-export-symbols"));
}
__field97 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<[StaticCow<str>]>>>(&mut __map)?);
}
__Field::__field98 => {
if _serde::__private228::Option::is_some(&__field98) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("merge-functions"));
}
__field98 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<MergeFunctions>>(&mut __map)?);
}
__Field::__field99 => {
if _serde::__private228::Option::is_some(&__field99) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("target-mcount"));
}
__field99 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field100 => {
if _serde::__private228::Option::is_some(&__field100) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("llvm-mcount-intrinsic"));
}
__field100 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field101 => {
if _serde::__private228::Option::is_some(&__field101) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("llvm-abiname"));
}
__field101 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field102 => {
if _serde::__private228::Option::is_some(&__field102) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("llvm-floatabi"));
}
__field102 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<FloatAbi>>(&mut __map)?);
}
__Field::__field103 => {
if _serde::__private228::Option::is_some(&__field103) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("rustc-abi"));
}
__field103 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<RustcAbi>>(&mut __map)?);
}
__Field::__field104 => {
if _serde::__private228::Option::is_some(&__field104) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("relax-elf-relocations"));
}
__field104 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field105 => {
if _serde::__private228::Option::is_some(&__field105) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("llvm-args"));
}
__field105 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<[StaticCow<str>]>>>(&mut __map)?);
}
__Field::__field106 => {
if _serde::__private228::Option::is_some(&__field106) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("use-ctors-section"));
}
__field106 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field107 => {
if _serde::__private228::Option::is_some(&__field107) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("eh-frame-header"));
}
__field107 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field108 => {
if _serde::__private228::Option::is_some(&__field108) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("has-thumb-interworking"));
}
__field108 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field109 => {
if _serde::__private228::Option::is_some(&__field109) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("debuginfo-kind"));
}
__field109 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<DebuginfoKind>>(&mut __map)?);
}
__Field::__field110 => {
if _serde::__private228::Option::is_some(&__field110) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("split-debuginfo"));
}
__field110 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<SplitDebuginfo>>(&mut __map)?);
}
__Field::__field111 => {
if _serde::__private228::Option::is_some(&__field111) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("supported-split-debuginfo"));
}
__field111 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<[SplitDebuginfo]>>>(&mut __map)?);
}
__Field::__field112 => {
if _serde::__private228::Option::is_some(&__field112) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("supported-sanitizers"));
}
__field112 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Vec<SanitizerSet>>>(&mut __map)?);
}
__Field::__field113 => {
if _serde::__private228::Option::is_some(&__field113) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("default-sanitizers"));
}
__field113 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Vec<SanitizerSet>>>(&mut __map)?);
}
__Field::__field114 => {
if _serde::__private228::Option::is_some(&__field114) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("generate-arange-section"));
}
__field114 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field115 => {
if _serde::__private228::Option::is_some(&__field115) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("supports-stack-protector"));
}
__field115 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field116 => {
if _serde::__private228::Option::is_some(&__field116) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("small-data-threshold-support"));
}
__field116 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<SmallDataThresholdSupport>>(&mut __map)?);
}
__Field::__field117 => {
if _serde::__private228::Option::is_some(&__field117) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("entry-name"));
}
__field117 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<StaticCow<str>>>(&mut __map)?);
}
__Field::__field118 => {
if _serde::__private228::Option::is_some(&__field118) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("supports-xray"));
}
__field118 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<bool>>(&mut __map)?);
}
__Field::__field119 => {
if _serde::__private228::Option::is_some(&__field119) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("entry-abi"));
}
__field119 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<ExternAbiWrapper>>(&mut __map)?);
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("llvm-target")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("target-pointer-width")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("data-layout")?,
};
let __field3 =
match __field3 {
_serde::__private228::Some(__field3) => __field3,
_serde::__private228::None =>
_serde::__private228::de::missing_field("arch")?,
};
let __field4 =
match __field4 {
_serde::__private228::Some(__field4) => __field4,
_serde::__private228::None =>
_serde::__private228::de::missing_field("metadata")?,
};
let __field5 =
match __field5 {
_serde::__private228::Some(__field5) => __field5,
_serde::__private228::None =>
_serde::__private228::de::missing_field("target-endian")?,
};
let __field6 =
match __field6 {
_serde::__private228::Some(__field6) => __field6,
_serde::__private228::None =>
_serde::__private228::de::missing_field("frame-pointer")?,
};
let __field7 =
match __field7 {
_serde::__private228::Some(__field7) => __field7,
_serde::__private228::None =>
_serde::__private228::de::missing_field("target-c-int-width")?,
};
let __field8 =
match __field8 {
_serde::__private228::Some(__field8) => __field8,
_serde::__private228::None =>
_serde::__private228::de::missing_field("c-enum-min-bits")?,
};
let __field9 =
match __field9 {
_serde::__private228::Some(__field9) => __field9,
_serde::__private228::None =>
_serde::__private228::de::missing_field("os")?,
};
let __field10 =
match __field10 {
_serde::__private228::Some(__field10) => __field10,
_serde::__private228::None =>
_serde::__private228::de::missing_field("env")?,
};
let __field11 =
match __field11 {
_serde::__private228::Some(__field11) => __field11,
_serde::__private228::None =>
_serde::__private228::de::missing_field("abi")?,
};
let __field12 =
match __field12 {
_serde::__private228::Some(__field12) => __field12,
_serde::__private228::None =>
_serde::__private228::de::missing_field("vendor")?,
};
let __field13 =
match __field13 {
_serde::__private228::Some(__field13) => __field13,
_serde::__private228::None =>
_serde::__private228::de::missing_field("linker")?,
};
let __field14 =
match __field14 {
_serde::__private228::Some(__field14) => __field14,
_serde::__private228::None =>
_serde::__private228::de::missing_field("linker-flavor")?,
};
let __field15 =
match __field15 {
_serde::__private228::Some(__field15) => __field15,
_serde::__private228::None =>
_serde::__private228::de::missing_field("lld-flavor")?,
};
let __field16 =
match __field16 {
_serde::__private228::Some(__field16) => __field16,
_serde::__private228::None =>
_serde::__private228::de::missing_field("linker-is-gnu")?,
};
let __field17 =
match __field17 {
_serde::__private228::Some(__field17) => __field17,
_serde::__private228::None =>
_serde::__private228::de::missing_field("pre-link-objects")?,
};
let __field18 =
match __field18 {
_serde::__private228::Some(__field18) => __field18,
_serde::__private228::None =>
_serde::__private228::de::missing_field("post-link-objects")?,
};
let __field19 =
match __field19 {
_serde::__private228::Some(__field19) => __field19,
_serde::__private228::None =>
_serde::__private228::de::missing_field("pre-link-objects-fallback")?,
};
let __field20 =
match __field20 {
_serde::__private228::Some(__field20) => __field20,
_serde::__private228::None =>
_serde::__private228::de::missing_field("post-link-objects-fallback")?,
};
let __field21 =
match __field21 {
_serde::__private228::Some(__field21) => __field21,
_serde::__private228::None =>
_serde::__private228::de::missing_field("crt-objects-fallback")?,
};
let __field22 =
match __field22 {
_serde::__private228::Some(__field22) => __field22,
_serde::__private228::None =>
_serde::__private228::de::missing_field("link-self-contained")?,
};
let __field23 =
match __field23 {
_serde::__private228::Some(__field23) => __field23,
_serde::__private228::None =>
_serde::__private228::de::missing_field("pre-link-args")?,
};
let __field24 =
match __field24 {
_serde::__private228::Some(__field24) => __field24,
_serde::__private228::None =>
_serde::__private228::de::missing_field("late-link-args")?,
};
let __field25 =
match __field25 {
_serde::__private228::Some(__field25) => __field25,
_serde::__private228::None =>
_serde::__private228::de::missing_field("late-link-args-dynamic")?,
};
let __field26 =
match __field26 {
_serde::__private228::Some(__field26) => __field26,
_serde::__private228::None =>
_serde::__private228::de::missing_field("late-link-args-static")?,
};
let __field27 =
match __field27 {
_serde::__private228::Some(__field27) => __field27,
_serde::__private228::None =>
_serde::__private228::de::missing_field("post-link-args")?,
};
let __field28 =
match __field28 {
_serde::__private228::Some(__field28) => __field28,
_serde::__private228::None =>
_serde::__private228::de::missing_field("link-script")?,
};
let __field29 =
match __field29 {
_serde::__private228::Some(__field29) => __field29,
_serde::__private228::None =>
_serde::__private228::de::missing_field("link-env")?,
};
let __field30 =
match __field30 {
_serde::__private228::Some(__field30) => __field30,
_serde::__private228::None =>
_serde::__private228::de::missing_field("link-env-remove")?,
};
let __field31 =
match __field31 {
_serde::__private228::Some(__field31) => __field31,
_serde::__private228::None =>
_serde::__private228::de::missing_field("asm-args")?,
};
let __field32 =
match __field32 {
_serde::__private228::Some(__field32) => __field32,
_serde::__private228::None =>
_serde::__private228::de::missing_field("cpu")?,
};
let __field33 =
match __field33 {
_serde::__private228::Some(__field33) => __field33,
_serde::__private228::None =>
_serde::__private228::de::missing_field("need-explicit-cpu")?,
};
let __field34 =
match __field34 {
_serde::__private228::Some(__field34) => __field34,
_serde::__private228::None =>
_serde::__private228::de::missing_field("features")?,
};
let __field35 =
match __field35 {
_serde::__private228::Some(__field35) => __field35,
_serde::__private228::None =>
_serde::__private228::de::missing_field("dynamic-linking")?,
};
let __field36 =
match __field36 {
_serde::__private228::Some(__field36) => __field36,
_serde::__private228::None =>
_serde::__private228::de::missing_field("direct-access-external-data")?,
};
let __field37 =
match __field37 {
_serde::__private228::Some(__field37) => __field37,
_serde::__private228::None =>
_serde::__private228::de::missing_field("dll-tls-export")?,
};
let __field38 =
match __field38 {
_serde::__private228::Some(__field38) => __field38,
_serde::__private228::None =>
_serde::__private228::de::missing_field("only-cdylib")?,
};
let __field39 =
match __field39 {
_serde::__private228::Some(__field39) => __field39,
_serde::__private228::None =>
_serde::__private228::de::missing_field("executables")?,
};
let __field40 =
match __field40 {
_serde::__private228::Some(__field40) => __field40,
_serde::__private228::None =>
_serde::__private228::de::missing_field("relocation-model")?,
};
let __field41 =
match __field41 {
_serde::__private228::Some(__field41) => __field41,
_serde::__private228::None =>
_serde::__private228::de::missing_field("code-model")?,
};
let __field42 =
match __field42 {
_serde::__private228::Some(__field42) => __field42,
_serde::__private228::None =>
_serde::__private228::de::missing_field("tls-model")?,
};
let __field43 =
match __field43 {
_serde::__private228::Some(__field43) => __field43,
_serde::__private228::None =>
_serde::__private228::de::missing_field("disable-redzone")?,
};
let __field44 =
match __field44 {
_serde::__private228::Some(__field44) => __field44,
_serde::__private228::None =>
_serde::__private228::de::missing_field("function-sections")?,
};
let __field45 =
match __field45 {
_serde::__private228::Some(__field45) => __field45,
_serde::__private228::None =>
_serde::__private228::de::missing_field("dll-prefix")?,
};
let __field46 =
match __field46 {
_serde::__private228::Some(__field46) => __field46,
_serde::__private228::None =>
_serde::__private228::de::missing_field("dll-suffix")?,
};
let __field47 =
match __field47 {
_serde::__private228::Some(__field47) => __field47,
_serde::__private228::None =>
_serde::__private228::de::missing_field("exe-suffix")?,
};
let __field48 =
match __field48 {
_serde::__private228::Some(__field48) => __field48,
_serde::__private228::None =>
_serde::__private228::de::missing_field("staticlib-prefix")?,
};
let __field49 =
match __field49 {
_serde::__private228::Some(__field49) => __field49,
_serde::__private228::None =>
_serde::__private228::de::missing_field("staticlib-suffix")?,
};
let __field50 =
match __field50 {
_serde::__private228::Some(__field50) => __field50,
_serde::__private228::None =>
_serde::__private228::de::missing_field("target-family")?,
};
let __field51 =
match __field51 {
_serde::__private228::Some(__field51) => __field51,
_serde::__private228::None =>
_serde::__private228::de::missing_field("abi-return-struct-as-int")?,
};
let __field52 =
match __field52 {
_serde::__private228::Some(__field52) => __field52,
_serde::__private228::None =>
_serde::__private228::de::missing_field("is-like-aix")?,
};
let __field53 =
match __field53 {
_serde::__private228::Some(__field53) => __field53,
_serde::__private228::None =>
_serde::__private228::de::missing_field("is-like-darwin")?,
};
let __field54 =
match __field54 {
_serde::__private228::Some(__field54) => __field54,
_serde::__private228::None =>
_serde::__private228::de::missing_field("is-like-solaris")?,
};
let __field55 =
match __field55 {
_serde::__private228::Some(__field55) => __field55,
_serde::__private228::None =>
_serde::__private228::de::missing_field("is-like-windows")?,
};
let __field56 =
match __field56 {
_serde::__private228::Some(__field56) => __field56,
_serde::__private228::None =>
_serde::__private228::de::missing_field("is-like-gpu")?,
};
let __field57 =
match __field57 {
_serde::__private228::Some(__field57) => __field57,
_serde::__private228::None =>
_serde::__private228::de::missing_field("is-like-msvc")?,
};
let __field58 =
match __field58 {
_serde::__private228::Some(__field58) => __field58,
_serde::__private228::None =>
_serde::__private228::de::missing_field("is-like-wasm")?,
};
let __field59 =
match __field59 {
_serde::__private228::Some(__field59) => __field59,
_serde::__private228::None =>
_serde::__private228::de::missing_field("is-like-android")?,
};
let __field60 =
match __field60 {
_serde::__private228::Some(__field60) => __field60,
_serde::__private228::None =>
_serde::__private228::de::missing_field("is-like-vexos")?,
};
let __field61 =
match __field61 {
_serde::__private228::Some(__field61) => __field61,
_serde::__private228::None =>
_serde::__private228::de::missing_field("binary-format")?,
};
let __field62 =
match __field62 {
_serde::__private228::Some(__field62) => __field62,
_serde::__private228::None =>
_serde::__private228::de::missing_field("default-dwarf-version")?,
};
let __field63 =
match __field63 {
_serde::__private228::Some(__field63) => __field63,
_serde::__private228::None =>
_serde::__private228::de::missing_field("allows-weak-linkage")?,
};
let __field64 =
match __field64 {
_serde::__private228::Some(__field64) => __field64,
_serde::__private228::None =>
_serde::__private228::de::missing_field("has-rpath")?,
};
let __field65 =
match __field65 {
_serde::__private228::Some(__field65) => __field65,
_serde::__private228::None =>
_serde::__private228::de::missing_field("no-default-libraries")?,
};
let __field66 =
match __field66 {
_serde::__private228::Some(__field66) => __field66,
_serde::__private228::None =>
_serde::__private228::de::missing_field("position-independent-executables")?,
};
let __field67 =
match __field67 {
_serde::__private228::Some(__field67) => __field67,
_serde::__private228::None =>
_serde::__private228::de::missing_field("static-position-independent-executables")?,
};
let __field68 =
match __field68 {
_serde::__private228::Some(__field68) => __field68,
_serde::__private228::None =>
_serde::__private228::de::missing_field("plt-by-default")?,
};
let __field69 =
match __field69 {
_serde::__private228::Some(__field69) => __field69,
_serde::__private228::None =>
_serde::__private228::de::missing_field("relro-level")?,
};
let __field70 =
match __field70 {
_serde::__private228::Some(__field70) => __field70,
_serde::__private228::None =>
_serde::__private228::de::missing_field("archive-format")?,
};
let __field71 =
match __field71 {
_serde::__private228::Some(__field71) => __field71,
_serde::__private228::None =>
_serde::__private228::de::missing_field("allow-asm")?,
};
let __field72 =
match __field72 {
_serde::__private228::Some(__field72) => __field72,
_serde::__private228::None =>
_serde::__private228::de::missing_field("static-initializer-must-be-acyclic")?,
};
let __field73 =
match __field73 {
_serde::__private228::Some(__field73) => __field73,
_serde::__private228::None =>
_serde::__private228::de::missing_field("main-needs-argc-argv")?,
};
let __field74 =
match __field74 {
_serde::__private228::Some(__field74) => __field74,
_serde::__private228::None =>
_serde::__private228::de::missing_field("has-thread-local")?,
};
let __field75 =
match __field75 {
_serde::__private228::Some(__field75) => __field75,
_serde::__private228::None =>
_serde::__private228::de::missing_field("obj-is-bitcode")?,
};
let __field76 =
match __field76 {
_serde::__private228::Some(__field76) => __field76,
_serde::__private228::None =>
_serde::__private228::de::missing_field("max-atomic-width")?,
};
let __field77 =
match __field77 {
_serde::__private228::Some(__field77) => __field77,
_serde::__private228::None =>
_serde::__private228::de::missing_field("min-atomic-width")?,
};
let __field78 =
match __field78 {
_serde::__private228::Some(__field78) => __field78,
_serde::__private228::None =>
_serde::__private228::de::missing_field("atomic-cas")?,
};
let __field79 =
match __field79 {
_serde::__private228::Some(__field79) => __field79,
_serde::__private228::None =>
_serde::__private228::de::missing_field("panic-strategy")?,
};
let __field80 =
match __field80 {
_serde::__private228::Some(__field80) => __field80,
_serde::__private228::None =>
_serde::__private228::de::missing_field("crt-static-allows-dylibs")?,
};
let __field81 =
match __field81 {
_serde::__private228::Some(__field81) => __field81,
_serde::__private228::None =>
_serde::__private228::de::missing_field("crt-static-default")?,
};
let __field82 =
match __field82 {
_serde::__private228::Some(__field82) => __field82,
_serde::__private228::None =>
_serde::__private228::de::missing_field("crt-static-respected")?,
};
let __field83 =
match __field83 {
_serde::__private228::Some(__field83) => __field83,
_serde::__private228::None =>
_serde::__private228::de::missing_field("stack-probes")?,
};
let __field84 =
match __field84 {
_serde::__private228::Some(__field84) => __field84,
_serde::__private228::None =>
_serde::__private228::de::missing_field("min-global-align")?,
};
let __field85 =
match __field85 {
_serde::__private228::Some(__field85) => __field85,
_serde::__private228::None =>
_serde::__private228::de::missing_field("default-codegen-units")?,
};
let __field86 =
match __field86 {
_serde::__private228::Some(__field86) => __field86,
_serde::__private228::None =>
_serde::__private228::de::missing_field("default-codegen-backend")?,
};
let __field87 =
match __field87 {
_serde::__private228::Some(__field87) => __field87,
_serde::__private228::None =>
_serde::__private228::de::missing_field("trap-unreachable")?,
};
let __field88 =
match __field88 {
_serde::__private228::Some(__field88) => __field88,
_serde::__private228::None =>
_serde::__private228::de::missing_field("requires-lto")?,
};
let __field89 =
match __field89 {
_serde::__private228::Some(__field89) => __field89,
_serde::__private228::None =>
_serde::__private228::de::missing_field("singlethread")?,
};
let __field90 =
match __field90 {
_serde::__private228::Some(__field90) => __field90,
_serde::__private228::None =>
_serde::__private228::de::missing_field("no-builtins")?,
};
let __field91 =
match __field91 {
_serde::__private228::Some(__field91) => __field91,
_serde::__private228::None =>
_serde::__private228::de::missing_field("default-visibility")?,
};
let __field92 =
match __field92 {
_serde::__private228::Some(__field92) => __field92,
_serde::__private228::None =>
_serde::__private228::de::missing_field("emit-debug-gdb-scripts")?,
};
let __field93 =
match __field93 {
_serde::__private228::Some(__field93) => __field93,
_serde::__private228::None =>
_serde::__private228::de::missing_field("requires-uwtable")?,
};
let __field94 =
match __field94 {
_serde::__private228::Some(__field94) => __field94,
_serde::__private228::None =>
_serde::__private228::de::missing_field("default-uwtable")?,
};
let __field95 =
match __field95 {
_serde::__private228::Some(__field95) => __field95,
_serde::__private228::None =>
_serde::__private228::de::missing_field("simd-types-indirect")?,
};
let __field96 =
match __field96 {
_serde::__private228::Some(__field96) => __field96,
_serde::__private228::None =>
_serde::__private228::de::missing_field("limit-rdylib-exports")?,
};
let __field97 =
match __field97 {
_serde::__private228::Some(__field97) => __field97,
_serde::__private228::None =>
_serde::__private228::de::missing_field("override-export-symbols")?,
};
let __field98 =
match __field98 {
_serde::__private228::Some(__field98) => __field98,
_serde::__private228::None =>
_serde::__private228::de::missing_field("merge-functions")?,
};
let __field99 =
match __field99 {
_serde::__private228::Some(__field99) => __field99,
_serde::__private228::None =>
_serde::__private228::de::missing_field("target-mcount")?,
};
let __field100 =
match __field100 {
_serde::__private228::Some(__field100) => __field100,
_serde::__private228::None =>
_serde::__private228::de::missing_field("llvm-mcount-intrinsic")?,
};
let __field101 =
match __field101 {
_serde::__private228::Some(__field101) => __field101,
_serde::__private228::None =>
_serde::__private228::de::missing_field("llvm-abiname")?,
};
let __field102 =
match __field102 {
_serde::__private228::Some(__field102) => __field102,
_serde::__private228::None =>
_serde::__private228::de::missing_field("llvm-floatabi")?,
};
let __field103 =
match __field103 {
_serde::__private228::Some(__field103) => __field103,
_serde::__private228::None =>
_serde::__private228::de::missing_field("rustc-abi")?,
};
let __field104 =
match __field104 {
_serde::__private228::Some(__field104) => __field104,
_serde::__private228::None =>
_serde::__private228::de::missing_field("relax-elf-relocations")?,
};
let __field105 =
match __field105 {
_serde::__private228::Some(__field105) => __field105,
_serde::__private228::None =>
_serde::__private228::de::missing_field("llvm-args")?,
};
let __field106 =
match __field106 {
_serde::__private228::Some(__field106) => __field106,
_serde::__private228::None =>
_serde::__private228::de::missing_field("use-ctors-section")?,
};
let __field107 =
match __field107 {
_serde::__private228::Some(__field107) => __field107,
_serde::__private228::None =>
_serde::__private228::de::missing_field("eh-frame-header")?,
};
let __field108 =
match __field108 {
_serde::__private228::Some(__field108) => __field108,
_serde::__private228::None =>
_serde::__private228::de::missing_field("has-thumb-interworking")?,
};
let __field109 =
match __field109 {
_serde::__private228::Some(__field109) => __field109,
_serde::__private228::None =>
_serde::__private228::de::missing_field("debuginfo-kind")?,
};
let __field110 =
match __field110 {
_serde::__private228::Some(__field110) => __field110,
_serde::__private228::None =>
_serde::__private228::de::missing_field("split-debuginfo")?,
};
let __field111 =
match __field111 {
_serde::__private228::Some(__field111) => __field111,
_serde::__private228::None =>
_serde::__private228::de::missing_field("supported-split-debuginfo")?,
};
let __field112 =
match __field112 {
_serde::__private228::Some(__field112) => __field112,
_serde::__private228::None =>
_serde::__private228::de::missing_field("supported-sanitizers")?,
};
let __field113 =
match __field113 {
_serde::__private228::Some(__field113) => __field113,
_serde::__private228::None =>
_serde::__private228::de::missing_field("default-sanitizers")?,
};
let __field114 =
match __field114 {
_serde::__private228::Some(__field114) => __field114,
_serde::__private228::None =>
_serde::__private228::de::missing_field("generate-arange-section")?,
};
let __field115 =
match __field115 {
_serde::__private228::Some(__field115) => __field115,
_serde::__private228::None =>
_serde::__private228::de::missing_field("supports-stack-protector")?,
};
let __field116 =
match __field116 {
_serde::__private228::Some(__field116) => __field116,
_serde::__private228::None =>
_serde::__private228::de::missing_field("small-data-threshold-support")?,
};
let __field117 =
match __field117 {
_serde::__private228::Some(__field117) => __field117,
_serde::__private228::None =>
_serde::__private228::de::missing_field("entry-name")?,
};
let __field118 =
match __field118 {
_serde::__private228::Some(__field118) => __field118,
_serde::__private228::None =>
_serde::__private228::de::missing_field("supports-xray")?,
};
let __field119 =
match __field119 {
_serde::__private228::Some(__field119) => __field119,
_serde::__private228::None =>
_serde::__private228::de::missing_field("entry-abi")?,
};
_serde::__private228::Ok(TargetSpecJson {
llvm_target: __field0,
target_pointer_width: __field1,
data_layout: __field2,
arch: __field3,
metadata: __field4,
target_endian: __field5,
frame_pointer: __field6,
c_int_width: __field7,
c_enum_min_bits: __field8,
os: __field9,
env: __field10,
abi: __field11,
vendor: __field12,
linker: __field13,
linker_flavor_json: __field14,
lld_flavor_json: __field15,
linker_is_gnu_json: __field16,
pre_link_objects: __field17,
post_link_objects: __field18,
pre_link_objects_self_contained: __field19,
post_link_objects_self_contained: __field20,
link_self_contained_backwards_compatible: __field21,
link_self_contained: __field22,
pre_link_args_json: __field23,
late_link_args_json: __field24,
late_link_args_dynamic_json: __field25,
late_link_args_static_json: __field26,
post_link_args_json: __field27,
link_script: __field28,
link_env: __field29,
link_env_remove: __field30,
asm_args: __field31,
cpu: __field32,
need_explicit_cpu: __field33,
features: __field34,
dynamic_linking: __field35,
direct_access_external_data: __field36,
dll_tls_export: __field37,
only_cdylib: __field38,
executables: __field39,
relocation_model: __field40,
code_model: __field41,
tls_model: __field42,
disable_redzone: __field43,
function_sections: __field44,
dll_prefix: __field45,
dll_suffix: __field46,
exe_suffix: __field47,
staticlib_prefix: __field48,
staticlib_suffix: __field49,
target_family: __field50,
abi_return_struct_as_int: __field51,
is_like_aix: __field52,
is_like_darwin: __field53,
is_like_solaris: __field54,
is_like_windows: __field55,
is_like_gpu: __field56,
is_like_msvc: __field57,
is_like_wasm: __field58,
is_like_android: __field59,
is_like_vexos: __field60,
binary_format: __field61,
default_dwarf_version: __field62,
allows_weak_linkage: __field63,
has_rpath: __field64,
no_default_libraries: __field65,
position_independent_executables: __field66,
static_position_independent_executables: __field67,
plt_by_default: __field68,
relro_level: __field69,
archive_format: __field70,
allow_asm: __field71,
static_initializer_must_be_acyclic: __field72,
main_needs_argc_argv: __field73,
has_thread_local: __field74,
obj_is_bitcode: __field75,
max_atomic_width: __field76,
min_atomic_width: __field77,
atomic_cas: __field78,
panic_strategy: __field79,
crt_static_allows_dylibs: __field80,
crt_static_default: __field81,
crt_static_respected: __field82,
stack_probes: __field83,
min_global_align: __field84,
default_codegen_units: __field85,
default_codegen_backend: __field86,
trap_unreachable: __field87,
requires_lto: __field88,
singlethread: __field89,
no_builtins: __field90,
default_visibility: __field91,
emit_debug_gdb_scripts: __field92,
requires_uwtable: __field93,
default_uwtable: __field94,
simd_types_indirect: __field95,
limit_rdylib_exports: __field96,
override_export_symbols: __field97,
merge_functions: __field98,
mcount: __field99,
llvm_mcount_intrinsic: __field100,
llvm_abiname: __field101,
llvm_floatabi: __field102,
rustc_abi: __field103,
relax_elf_relocations: __field104,
llvm_args: __field105,
use_ctors_section: __field106,
eh_frame_header: __field107,
has_thumb_interworking: __field108,
debuginfo_kind: __field109,
split_debuginfo: __field110,
supported_split_debuginfo: __field111,
supported_sanitizers: __field112,
default_sanitizers: __field113,
generate_arange_section: __field114,
supports_stack_protector: __field115,
small_data_threshold_support: __field116,
entry_name: __field117,
supports_xray: __field118,
entry_abi: __field119,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["llvm-target", "target-pointer-width", "data-layout",
"arch", "metadata", "target-endian", "frame-pointer",
"target-c-int-width", "c-enum-min-bits", "os", "env", "abi",
"vendor", "linker", "linker-flavor", "lld-flavor",
"linker-is-gnu", "pre-link-objects", "post-link-objects",
"pre-link-objects-fallback", "post-link-objects-fallback",
"crt-objects-fallback", "link-self-contained",
"pre-link-args", "late-link-args", "late-link-args-dynamic",
"late-link-args-static", "post-link-args", "link-script",
"link-env", "link-env-remove", "asm-args", "cpu",
"need-explicit-cpu", "features", "dynamic-linking",
"direct-access-external-data", "dll-tls-export",
"only-cdylib", "executables", "relocation-model",
"code-model", "tls-model", "disable-redzone",
"function-sections", "dll-prefix", "dll-suffix",
"exe-suffix", "staticlib-prefix", "staticlib-suffix",
"target-family", "abi-return-struct-as-int", "is-like-aix",
"is-like-darwin", "is-like-solaris", "is-like-windows",
"is-like-gpu", "is-like-msvc", "is-like-wasm",
"is-like-android", "is-like-vexos", "binary-format",
"default-dwarf-version", "allows-weak-linkage", "has-rpath",
"no-default-libraries", "position-independent-executables",
"static-position-independent-executables", "plt-by-default",
"relro-level", "archive-format", "allow-asm",
"static-initializer-must-be-acyclic",
"main-needs-argc-argv", "has-thread-local",
"obj-is-bitcode", "max-atomic-width", "min-atomic-width",
"atomic-cas", "panic-strategy", "crt-static-allows-dylibs",
"crt-static-default", "crt-static-respected",
"stack-probes", "min-global-align", "default-codegen-units",
"default-codegen-backend", "trap-unreachable",
"requires-lto", "singlethread", "no-builtins",
"default-visibility", "emit-debug-gdb-scripts",
"requires-uwtable", "default-uwtable",
"simd-types-indirect", "limit-rdylib-exports",
"override-export-symbols", "merge-functions",
"target-mcount", "llvm-mcount-intrinsic", "llvm-abiname",
"llvm-floatabi", "rustc-abi", "relax-elf-relocations",
"llvm-args", "use-ctors-section", "eh-frame-header",
"has-thumb-interworking", "debuginfo-kind",
"split-debuginfo", "supported-split-debuginfo",
"supported-sanitizers", "default-sanitizers",
"generate-arange-section", "supports-stack-protector",
"small-data-threshold-support", "entry-name",
"supports-xray", "entry-abi"];
_serde::Deserializer::deserialize_struct(__deserializer,
"TargetSpecJson", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<TargetSpecJson>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};serde_derive::Deserialize, const _: () =
{
#[automatically_derived]
#[allow(unused_braces)]
impl schemars::JsonSchema for TargetSpecJson {
fn schema_name()
-> schemars::_private::alloc::borrow::Cow<'static, str> {
schemars::_private::alloc::borrow::Cow::Borrowed("TargetSpecJson")
}
fn schema_id()
-> schemars::_private::alloc::borrow::Cow<'static, str> {
schemars::_private::alloc::borrow::Cow::Borrowed("rustc_target::spec::json::TargetSpecJson")
}
fn json_schema(generator: &mut schemars::SchemaGenerator)
-> schemars::Schema {
{
let mut schema =
<::schemars::Schema as
::core::convert::TryFrom<_>>::try_from(::serde_json::Value::Object({
let mut object = ::serde_json::Map::new();
let _ =
object.insert(("type").into(),
::serde_json::to_value(&"object").unwrap());
let _ =
object.insert(("additionalProperties").into(),
::serde_json::Value::Bool(false));
;
object
})).unwrap();
{
schemars::_private::insert_object_property(&mut schema,
"llvm-target",
generator.contract().is_deserialize() &&
<StaticCow<str> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<StaticCow<str>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"target-pointer-width",
generator.contract().is_deserialize() &&
<u16 as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<u16>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"data-layout",
generator.contract().is_deserialize() &&
<StaticCow<str> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<StaticCow<str>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"arch",
generator.contract().is_deserialize() &&
<Arch as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Arch>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"metadata",
generator.contract().is_deserialize() &&
<Option<TargetSpecJsonMetadata> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<TargetSpecJsonMetadata>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"target-endian",
generator.contract().is_deserialize() &&
<Option<EndianWrapper> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<EndianWrapper>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"frame-pointer",
generator.contract().is_deserialize() &&
<Option<FramePointer> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<FramePointer>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"target-c-int-width",
generator.contract().is_deserialize() &&
<Option<u16> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<u16>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"c-enum-min-bits",
generator.contract().is_deserialize() &&
<Option<u64> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<u64>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"os",
generator.contract().is_deserialize() &&
<Option<Os> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<Os>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"env",
generator.contract().is_deserialize() &&
<Option<Env> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<Env>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"abi",
generator.contract().is_deserialize() &&
<Option<Abi> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<Abi>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"vendor",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"linker",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"linker-flavor",
generator.contract().is_deserialize() &&
<Option<LinkerFlavorCli> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<LinkerFlavorCli>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"lld-flavor",
generator.contract().is_deserialize() &&
<Option<LldFlavor> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<LldFlavor>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"linker-is-gnu",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"pre-link-objects",
generator.contract().is_deserialize() &&
<Option<CrtObjects> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<CrtObjects>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"post-link-objects",
generator.contract().is_deserialize() &&
<Option<CrtObjects> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<CrtObjects>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"pre-link-objects-fallback",
generator.contract().is_deserialize() &&
<Option<CrtObjects> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<CrtObjects>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"post-link-objects-fallback",
generator.contract().is_deserialize() &&
<Option<CrtObjects> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<CrtObjects>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"crt-objects-fallback",
generator.contract().is_deserialize() &&
<Option<LinkSelfContainedDefault> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<LinkSelfContainedDefault>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"link-self-contained",
generator.contract().is_deserialize() &&
<Option<LinkSelfContainedComponentsWrapper> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<LinkSelfContainedComponentsWrapper>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"pre-link-args",
generator.contract().is_deserialize() &&
<Option<LinkArgsCli> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<LinkArgsCli>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"late-link-args",
generator.contract().is_deserialize() &&
<Option<LinkArgsCli> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<LinkArgsCli>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"late-link-args-dynamic",
generator.contract().is_deserialize() &&
<Option<LinkArgsCli> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<LinkArgsCli>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"late-link-args-static",
generator.contract().is_deserialize() &&
<Option<LinkArgsCli> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<LinkArgsCli>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"post-link-args",
generator.contract().is_deserialize() &&
<Option<LinkArgsCli> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<LinkArgsCli>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"link-script",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"link-env",
generator.contract().is_deserialize() &&
<Option<Vec<StaticCow<str>>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<Vec<StaticCow<str>>>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"link-env-remove",
generator.contract().is_deserialize() &&
<Option<StaticCow<[StaticCow<str>]>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<StaticCow<[StaticCow<str>]>>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"asm-args",
generator.contract().is_deserialize() &&
<Option<StaticCow<[StaticCow<str>]>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<StaticCow<[StaticCow<str>]>>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"cpu",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"need-explicit-cpu",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"features",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"dynamic-linking",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"direct-access-external-data",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"dll-tls-export",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"only-cdylib",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"executables",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"relocation-model",
generator.contract().is_deserialize() &&
<Option<RelocModel> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<RelocModel>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"code-model",
generator.contract().is_deserialize() &&
<Option<CodeModel> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<CodeModel>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"tls-model",
generator.contract().is_deserialize() &&
<Option<TlsModel> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<TlsModel>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"disable-redzone",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"function-sections",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"dll-prefix",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"dll-suffix",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"exe-suffix",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"staticlib-prefix",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"staticlib-suffix",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"target-family",
generator.contract().is_deserialize() &&
<Option<TargetFamiliesJson> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<TargetFamiliesJson>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"abi-return-struct-as-int",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"is-like-aix",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"is-like-darwin",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"is-like-solaris",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"is-like-windows",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"is-like-gpu",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"is-like-msvc",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"is-like-wasm",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"is-like-android",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"is-like-vexos",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"binary-format",
generator.contract().is_deserialize() &&
<Option<BinaryFormat> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<BinaryFormat>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"default-dwarf-version",
generator.contract().is_deserialize() &&
<Option<u32> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<u32>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"allows-weak-linkage",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"has-rpath",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"no-default-libraries",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"position-independent-executables",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"static-position-independent-executables",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"plt-by-default",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"relro-level",
generator.contract().is_deserialize() &&
<Option<RelroLevel> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<RelroLevel>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"archive-format",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"allow-asm",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"static-initializer-must-be-acyclic",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"main-needs-argc-argv",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"has-thread-local",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"obj-is-bitcode",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"max-atomic-width",
generator.contract().is_deserialize() &&
<Option<u64> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<u64>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"min-atomic-width",
generator.contract().is_deserialize() &&
<Option<u64> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<u64>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"atomic-cas",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"panic-strategy",
generator.contract().is_deserialize() &&
<Option<PanicStrategy> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<PanicStrategy>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"crt-static-allows-dylibs",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"crt-static-default",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"crt-static-respected",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"stack-probes",
generator.contract().is_deserialize() &&
<Option<StackProbeType> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StackProbeType>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"min-global-align",
generator.contract().is_deserialize() &&
<Option<u64> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<u64>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"default-codegen-units",
generator.contract().is_deserialize() &&
<Option<u64> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<u64>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"default-codegen-backend",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"trap-unreachable",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"requires-lto",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"singlethread",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"no-builtins",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"default-visibility",
generator.contract().is_deserialize() &&
<Option<SymbolVisibility> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<SymbolVisibility>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"emit-debug-gdb-scripts",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"requires-uwtable",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"default-uwtable",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"simd-types-indirect",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"limit-rdylib-exports",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"override-export-symbols",
generator.contract().is_deserialize() &&
<Option<StaticCow<[StaticCow<str>]>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<StaticCow<[StaticCow<str>]>>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"merge-functions",
generator.contract().is_deserialize() &&
<Option<MergeFunctions> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<MergeFunctions>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"target-mcount",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"llvm-mcount-intrinsic",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"llvm-abiname",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"llvm-floatabi",
generator.contract().is_deserialize() &&
<Option<FloatAbi> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<FloatAbi>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"rustc-abi",
generator.contract().is_deserialize() &&
<Option<RustcAbi> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<RustcAbi>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"relax-elf-relocations",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"llvm-args",
generator.contract().is_deserialize() &&
<Option<StaticCow<[StaticCow<str>]>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<StaticCow<[StaticCow<str>]>>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"use-ctors-section",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"eh-frame-header",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"has-thumb-interworking",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"debuginfo-kind",
generator.contract().is_deserialize() &&
<Option<DebuginfoKind> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<DebuginfoKind>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"split-debuginfo",
generator.contract().is_deserialize() &&
<Option<SplitDebuginfo> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<SplitDebuginfo>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"supported-split-debuginfo",
generator.contract().is_deserialize() &&
<Option<StaticCow<[SplitDebuginfo]>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<StaticCow<[SplitDebuginfo]>>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"supported-sanitizers",
generator.contract().is_deserialize() &&
<Option<Vec<SanitizerSet>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<Vec<SanitizerSet>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"default-sanitizers",
generator.contract().is_deserialize() &&
<Option<Vec<SanitizerSet>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<Vec<SanitizerSet>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"generate-arange-section",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"supports-stack-protector",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"small-data-threshold-support",
generator.contract().is_deserialize() &&
<Option<SmallDataThresholdSupport> as
schemars::JsonSchema>::_schemars_private_is_option(),
{
generator.subschema_for::<Option<SmallDataThresholdSupport>>()
});
}
{
schemars::_private::insert_object_property(&mut schema,
"entry-name",
generator.contract().is_deserialize() &&
<Option<StaticCow<str>> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<StaticCow<str>>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"supports-xray",
generator.contract().is_deserialize() &&
<Option<bool> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<bool>>() });
}
{
schemars::_private::insert_object_property(&mut schema,
"entry-abi",
generator.contract().is_deserialize() &&
<Option<ExternAbiWrapper> as
schemars::JsonSchema>::_schemars_private_is_option(),
{ generator.subschema_for::<Option<ExternAbiWrapper>>() });
}
schema
}
}
fn inline_schema() -> bool { false }
}
;
};schemars::JsonSchema)]
491#[serde(rename_all = "kebab-case")]
492#[serde(deny_unknown_fields)]
496struct TargetSpecJson {
497 llvm_target: StaticCow<str>,
498 target_pointer_width: u16,
499 data_layout: StaticCow<str>,
500 arch: Arch,
501
502 metadata: Option<TargetSpecJsonMetadata>,
503
504 target_endian: Option<EndianWrapper>,
506 frame_pointer: Option<FramePointer>,
507 #[serde(rename = "target-c-int-width")]
508 c_int_width: Option<u16>,
509 c_enum_min_bits: Option<u64>,
510 os: Option<Os>,
511 env: Option<Env>,
512 abi: Option<Abi>,
513 vendor: Option<StaticCow<str>>,
514 linker: Option<StaticCow<str>>,
515 #[serde(rename = "linker-flavor")]
516 linker_flavor_json: Option<LinkerFlavorCli>,
517 #[serde(rename = "lld-flavor")]
518 lld_flavor_json: Option<LldFlavor>,
519 #[serde(rename = "linker-is-gnu")]
520 linker_is_gnu_json: Option<bool>,
521 #[serde(rename = "pre-link-objects")]
522 pre_link_objects: Option<CrtObjects>,
523 #[serde(rename = "post-link-objects")]
524 post_link_objects: Option<CrtObjects>,
525 #[serde(rename = "pre-link-objects-fallback")]
526 pre_link_objects_self_contained: Option<CrtObjects>,
527 #[serde(rename = "post-link-objects-fallback")]
528 post_link_objects_self_contained: Option<CrtObjects>,
529 #[serde(rename = "crt-objects-fallback")]
530 link_self_contained_backwards_compatible: Option<LinkSelfContainedDefault>,
531 link_self_contained: Option<LinkSelfContainedComponentsWrapper>,
532 #[serde(rename = "pre-link-args")]
533 pre_link_args_json: Option<LinkArgsCli>,
534 #[serde(rename = "late-link-args")]
535 late_link_args_json: Option<LinkArgsCli>,
536 #[serde(rename = "late-link-args-dynamic")]
537 late_link_args_dynamic_json: Option<LinkArgsCli>,
538 #[serde(rename = "late-link-args-static")]
539 late_link_args_static_json: Option<LinkArgsCli>,
540 #[serde(rename = "post-link-args")]
541 post_link_args_json: Option<LinkArgsCli>,
542 link_script: Option<StaticCow<str>>,
543 link_env: Option<Vec<StaticCow<str>>>,
544 link_env_remove: Option<StaticCow<[StaticCow<str>]>>,
545 asm_args: Option<StaticCow<[StaticCow<str>]>>,
546 cpu: Option<StaticCow<str>>,
547 need_explicit_cpu: Option<bool>,
548 features: Option<StaticCow<str>>,
549 dynamic_linking: Option<bool>,
550 direct_access_external_data: Option<bool>,
551 dll_tls_export: Option<bool>,
552 only_cdylib: Option<bool>,
553 executables: Option<bool>,
554 relocation_model: Option<RelocModel>,
555 code_model: Option<CodeModel>,
556 tls_model: Option<TlsModel>,
557 disable_redzone: Option<bool>,
558 function_sections: Option<bool>,
559 dll_prefix: Option<StaticCow<str>>,
560 dll_suffix: Option<StaticCow<str>>,
561 exe_suffix: Option<StaticCow<str>>,
562 staticlib_prefix: Option<StaticCow<str>>,
563 staticlib_suffix: Option<StaticCow<str>>,
564 target_family: Option<TargetFamiliesJson>,
565 abi_return_struct_as_int: Option<bool>,
566 is_like_aix: Option<bool>,
567 is_like_darwin: Option<bool>,
568 is_like_solaris: Option<bool>,
569 is_like_windows: Option<bool>,
570 is_like_gpu: Option<bool>,
571 is_like_msvc: Option<bool>,
572 is_like_wasm: Option<bool>,
573 is_like_android: Option<bool>,
574 is_like_vexos: Option<bool>,
575 binary_format: Option<BinaryFormat>,
576 default_dwarf_version: Option<u32>,
577 allows_weak_linkage: Option<bool>,
578 has_rpath: Option<bool>,
579 no_default_libraries: Option<bool>,
580 position_independent_executables: Option<bool>,
581 static_position_independent_executables: Option<bool>,
582 plt_by_default: Option<bool>,
583 relro_level: Option<RelroLevel>,
584 archive_format: Option<StaticCow<str>>,
585 allow_asm: Option<bool>,
586 static_initializer_must_be_acyclic: Option<bool>,
587 main_needs_argc_argv: Option<bool>,
588 has_thread_local: Option<bool>,
589 obj_is_bitcode: Option<bool>,
590 max_atomic_width: Option<u64>,
591 min_atomic_width: Option<u64>,
592 atomic_cas: Option<bool>,
593 panic_strategy: Option<PanicStrategy>,
594 crt_static_allows_dylibs: Option<bool>,
595 crt_static_default: Option<bool>,
596 crt_static_respected: Option<bool>,
597 stack_probes: Option<StackProbeType>,
598 min_global_align: Option<u64>,
599 default_codegen_units: Option<u64>,
600 default_codegen_backend: Option<StaticCow<str>>,
601 trap_unreachable: Option<bool>,
602 requires_lto: Option<bool>,
603 singlethread: Option<bool>,
604 no_builtins: Option<bool>,
605 default_visibility: Option<SymbolVisibility>,
606 emit_debug_gdb_scripts: Option<bool>,
607 requires_uwtable: Option<bool>,
608 default_uwtable: Option<bool>,
609 simd_types_indirect: Option<bool>,
610 limit_rdylib_exports: Option<bool>,
611 override_export_symbols: Option<StaticCow<[StaticCow<str>]>>,
612 merge_functions: Option<MergeFunctions>,
613 #[serde(rename = "target-mcount")]
614 mcount: Option<StaticCow<str>>,
615 llvm_mcount_intrinsic: Option<StaticCow<str>>,
616 llvm_abiname: Option<StaticCow<str>>,
617 llvm_floatabi: Option<FloatAbi>,
618 rustc_abi: Option<RustcAbi>,
619 relax_elf_relocations: Option<bool>,
620 llvm_args: Option<StaticCow<[StaticCow<str>]>>,
621 use_ctors_section: Option<bool>,
622 eh_frame_header: Option<bool>,
623 has_thumb_interworking: Option<bool>,
624 debuginfo_kind: Option<DebuginfoKind>,
625 split_debuginfo: Option<SplitDebuginfo>,
626 supported_split_debuginfo: Option<StaticCow<[SplitDebuginfo]>>,
627 supported_sanitizers: Option<Vec<SanitizerSet>>,
628 default_sanitizers: Option<Vec<SanitizerSet>>,
629 generate_arange_section: Option<bool>,
630 supports_stack_protector: Option<bool>,
631 small_data_threshold_support: Option<SmallDataThresholdSupport>,
632 entry_name: Option<StaticCow<str>>,
633 supports_xray: Option<bool>,
634 entry_abi: Option<ExternAbiWrapper>,
635}
636
637pub fn json_schema() -> schemars::Schema {
638 ::schemars::SchemaGenerator::default().into_root_schema_for::<TargetSpecJson>()schemars::schema_for!(TargetSpecJson)
639}