///|
fn main {
run() catch {
error => abort("reproducible example failed: \{error}")
}
}
///|
fn run() -> Unit raise {
let request = @builder.default_single_layer_request([
@archive.TarEntry::file("b.txt", b"second"),
@archive.TarEntry::file("a.txt", b"first"),
])
let first = @builder.build_single_layer(request)
let second = @builder.build_single_layer(request)
if first.layout != second.layout {
abort("identical declared inputs produced different layouts")
}
println("reproducible: " + first.report.manifest.digest.to_string())
}