#![cfg_attr(rustfmt, rustfmt::skip)]
#![allow(dead_code, clippy::std_instead_of_alloc, clippy::std_instead_of_core)]
use std::{fmt::Write as _, path::Path, string::String};
fn write_size<T>(out: &mut String) {
let _ = writeln!(
out, "{}: {}", std::any::type_name::<T> (), std::mem::size_of::<T> ()
);
}
#[rustversion::attr(
nightly,
cfg_attr(any(not(target_pointer_width = "64"), miri, careful), ignore)
)]
#[rustversion::attr(not(nightly), ignore)]
#[test]
fn track_size() {
let mut out = String::new();
write_size::<crate::error::Error>(&mut out);
write_size::<crate::Dockerfile<'_>>(&mut out);
write_size::<crate::Stage<'_, '_>>(&mut out);
write_size::<crate::ParserDirectives<'_>>(&mut out);
write_size::<crate::ParserDirective<()>>(&mut out);
write_size::<crate::Instruction<'_>>(&mut out);
write_size::<crate::AddInstruction<'_>>(&mut out);
write_size::<crate::ArgInstruction<'_>>(&mut out);
write_size::<crate::CmdInstruction<'_>>(&mut out);
write_size::<crate::CopyInstruction<'_>>(&mut out);
write_size::<crate::Source<'_>>(&mut out);
write_size::<crate::EntrypointInstruction<'_>>(&mut out);
write_size::<crate::EnvInstruction<'_>>(&mut out);
write_size::<crate::ExposeInstruction<'_>>(&mut out);
write_size::<crate::FromInstruction<'_>>(&mut out);
write_size::<crate::HealthcheckInstruction<'_>>(&mut out);
write_size::<crate::HealthcheckArguments<'_>>(&mut out);
write_size::<crate::LabelInstruction<'_>>(&mut out);
write_size::<crate::MaintainerInstruction<'_>>(&mut out);
write_size::<crate::OnbuildInstruction<'_>>(&mut out);
write_size::<crate::RunInstruction<'_>>(&mut out);
write_size::<crate::ShellInstruction<'_>>(&mut out);
write_size::<crate::StopsignalInstruction<'_>>(&mut out);
write_size::<crate::UserInstruction<'_>>(&mut out);
write_size::<crate::VolumeInstruction<'_>>(&mut out);
write_size::<crate::WorkdirInstruction<'_>>(&mut out);
write_size::<crate::Keyword>(&mut out);
write_size::<crate::Flag<'_>>(&mut out);
write_size::<crate::UnescapedString<'_>>(&mut out);
write_size::<crate::Command<'_>>(&mut out);
write_size::<crate::HereDoc<'_>>(&mut out);
write_size::<crate::Spanned<()>>(&mut out);
write_size::<crate::ParseIter<'_>>(&mut out);
test_helper::git::assert_diff(
Path::new(env!("CARGO_MANIFEST_DIR")).join("src/gen/tests/track_size.txt"),
out,
);
}