Found this through a bug in my own code, I don't have stand-alone code to go with it right now since this came from a dev branch that's not public.
It's probably an error to pass 0 to set_align anyway, but it should return an error result instead of panicking.
Backtrace
thread 'main' panicked at 'assertion failed: `(left == right)`
left: `Some(1)`,
right: `Some(0)`', /home/joshua/.cargo/registry/src/github.com-1ecc6299db9ec823/faerie-0.11.0/src/artifact/decl.rs:453:5
stack backtrace:
0: backtrace::backtrace::libunwind::trace
at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/libunwind.rs:88
1: backtrace::backtrace::trace_unsynchronized
at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/mod.rs:66
2: std::sys_common::backtrace::_print
at src/libstd/sys_common/backtrace.rs:47
3: std::sys_common::backtrace::print
at src/libstd/sys_common/backtrace.rs:36
4: std::panicking::default_hook::{{closure}}
at src/libstd/panicking.rs:200
5: std::panicking::default_hook
at src/libstd/panicking.rs:214
6: std::panicking::rust_panic_with_hook
at src/libstd/panicking.rs:477
7: std::panicking::continue_panic_fmt
at src/libstd/panicking.rs:384
8: std::panicking::begin_panic_fmt
at src/libstd/panicking.rs:339
9: faerie::artifact::decl::DataDecl::set_align
at /home/joshua/.cargo/registry/src/github.com-1ecc6299db9ec823/faerie-0.11.0/src/artifact/decl.rs:157
10: faerie::artifact::decl::DataDecl::with_align
at /home/joshua/.cargo/registry/src/github.com-1ecc6299db9ec823/faerie-0.11.0/src/artifact/decl.rs:151
11: cranelift_faerie::backend::translate_data_linkage
at /home/joshua/.cargo/registry/src/github.com-1ecc6299db9ec823/cranelift-faerie-0.42.0/src/backend.rs:352
12: <cranelift_faerie::backend::FaerieBackend as cranelift_module::backend::Backend>::declare_data
at /home/joshua/.cargo/registry/src/github.com-1ecc6299db9ec823/cranelift-faerie-0.42.0/src/backend.rs:134
13: cranelift_module::module::Module<B>::declare_data
at /home/joshua/.cargo/registry/src/github.com-1ecc6299db9ec823/cranelift-module-0.42.0/src/module.rs:477
14: rcc::ir::LLVMCompiler::store_static
at src/ir.rs:913
15: rcc::ir::compile
at src/ir.rs:85
16: rcc::compile
at src/lib.rs:72
17: rcc::real_main
at src/main.rs:74
18: rcc::main
at src/main.rs:130
19: std::rt::lang_start::{{closure}}
at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/rt.rs:64
20: std::rt::lang_start_internal::{{closure}}
at src/libstd/rt.rs:49
21: std::panicking::try::do_call
at src/libstd/panicking.rs:296
22: __rust_maybe_catch_panic
at src/libpanic_unwind/lib.rs:82
23: std::panicking::try
at src/libstd/panicking.rs:275
24: std::panic::catch_unwind
at src/libstd/panic.rs:394
25: std::rt::lang_start_internal
at src/libstd/rt.rs:48
26: std::rt::lang_start
at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/rt.rs:64
27: main
28: __libc_start_main
29: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Found this through a bug in my own code, I don't have stand-alone code to go with it right now since this came from a dev branch that's not public.
It's probably an error to pass 0 to set_align anyway, but it should return an error result instead of panicking.
Backtrace