-
Notifications
You must be signed in to change notification settings - Fork 356
Open
Description
Version: ad44e91
Input file (test.circom):
pragma circom 2.2.0;
template B() {
signal input in;
{
signal input in;
signal input in2;
signal output out;
out <== in + in2;
}
signal output out;
out <== in + 5;
}
component main {public [in,in2]} = B();Run command 1: target/debug/circom -c test.circom
Output Log 1:
thread 'main' (12809912) panicked at compiler/src/circuit_design/build.rs:423:9:
assertion failed: st == io.start && sz == io.size
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/695857bc3f72ec4f59c79f323460fe488c38a53f/library/std/src/panicking.rs:698:5
1: core::panicking::panic_fmt
at /rustc/695857bc3f72ec4f59c79f323460fe488c38a53f/library/core/src/panicking.rs:80:14
2: core::panicking::panic
at /rustc/695857bc3f72ec4f59c79f323460fe488c38a53f/library/core/src/panicking.rs:150:5
3: compiler::circuit_design::build::main_input_list
at ./compiler/src/circuit_design/build.rs:423:6
4: compiler::circuit_design::build::initialize_wasm_producer
at ./compiler/src/circuit_design/build.rs:247:32
5: compiler::circuit_design::build::build_circuit
at ./compiler/src/circuit_design/build.rs:643:29
6: compiler::circuit_design::circuit::Circuit::build
at ./compiler/src/circuit_design/circuit.rs:570:9
7: compiler::compiler_interface::run_compiler
at ./compiler/src/compiler_interface.rs:21:19
8: circom::compilation_user::compile
at ./circom/src/compilation_user.rs:35:23
9: circom::start
at ./circom/src/main.rs:68:5
10: circom::main
at ./circom/src/main.rs:13:18
Run command 2: target/debug/circom --r1cs test.circom
Output Log 2:
thread 'main' (12811151) panicked at [...]/circom_algebra/src/algebra.rs:1259:27:
Unknown signal: 5
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/695857bc3f72ec4f59c79f323460fe488c38a53f/library/std/src/panicking.rs:698:5
1: core::panicking::panic_fmt
at /rustc/695857bc3f72ec4f59c79f323460fe488c38a53f/library/core/src/panicking.rs:80:14
2: core::panicking::panic_display
at /rustc/695857bc3f72ec4f59c79f323460fe488c38a53f/library/core/src/panicking.rs:264:5
3: core::option::expect_failed
at /rustc/695857bc3f72ec4f59c79f323460fe488c38a53f/library/core/src/option.rs:2183:5
4: core::option::Option<T>::expect
at [...]/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:970:21
5: circom_algebra::algebra::apply_raw_correspondence
at ./circom_algebra/src/algebra.rs:1259:27
6: circom_algebra::algebra::Constraint<C>::apply_correspondence
at ./circom_algebra/src/algebra.rs:1046:17
7: constraint_list::r1cs_porting::port_r1cs
at ./constraint_list/src/r1cs_porting.rs:25:17
8: <constraint_list::ConstraintList as constraint_writers::ConstraintExporter>::r1cs
at ./constraint_list/src/lib.rs:170:9
9: circom::execution_user::generate_output_r1cs
at ./circom/src/execution_user.rs:60:38
10: circom::execution_user::execute_project
at ./circom/src/execution_user.rs:48:9
11: circom::start
at ./circom/src/main.rs:48:19
12: circom::main
at ./circom/src/main.rs:13:18
Run command 3: target/debug/circom test.circom
Output Log 3:
template instances: 1
Everything went okay
This last one shows no error reported if output type is not specified. It's surprising that there is no error from declaring signals within an inner block. It introduces several ambiguities.
- Which definition of
inis the one marked as a public input? - How could both versions of
inbe assigned by aninput.jsonfile when computing the witness?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels