Error [EPAR0370021]: The type of `2u32` has no associated function `exp` that takes 1 argument(s).
--> /Users/mohammadfawaz/Desktop/bugs/bad_op/src/main.leo:7:20
|
7 | fn main(x: S::[2u32.exp(2u32)]);
| ^^^^^^^^^^^^^^
thread `main` panicked at crates/ast/src/passes/visitor.rs:226:9:
`ErrExpression`s should not be in the AST at this phase of compilation.
stack backtrace:
0: backtrace::backtrace::libunwind::trace
at /Users/mohammadfawaz/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/backtrace/libunwind.rs:117:9
backtrace::backtrace::trace_unsynchronized
at /Users/mohammadfawaz/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/backtrace/mod.rs:66:14
backtrace::backtrace::trace
at /Users/mohammadfawaz/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/backtrace/mod.rs:53:14
1: backtrace::capture::Backtrace::create
at /Users/mohammadfawaz/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/capture.rs:294:9
2: backtrace::capture::Backtrace::new
at /Users/mohammadfawaz/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/capture.rs:259:22
3: leo::set_panic_hook::{{closure}}
at /Users/mohammadfawaz/Desktop/leo/crates/leo/src/cli/main.rs:26:50
4: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
at /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/alloc/src/boxed.rs:2220:9
std::panicking::panic_with_hook
at /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/std/src/panicking.rs:833:13
5: std::panicking::panic_handler::{{closure}}
at /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/std/src/panicking.rs:691:13
6: std::sys::backtrace::__rust_end_short_backtrace
at /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/std/src/sys/backtrace.rs:182:18
7: __rustc::rust_begin_unwind
at /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/std/src/panicking.rs:689:5
8: core::panicking::panic_fmt
at /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/core/src/panicking.rs:80:14
9: leo_ast::passes::visitor::AstVisitor::visit_err
at /Users/mohammadfawaz/Desktop/leo/crates/ast/src/passes/visitor.rs:226:9
leo_ast::passes::visitor::AstVisitor::visit_expression
at /Users/mohammadfawaz/Desktop/leo/crates/ast/src/passes/visitor.rs:120:42
10: leo_ast::passes::visitor::AstVisitor::visit_composite_type::{{closure}}
at /Users/mohammadfawaz/Desktop/leo/crates/ast/src/passes/visitor.rs:81:18
<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/slice/iter/macros.rs:301:21
leo_ast::passes::visitor::AstVisitor::visit_composite_type
at /Users/mohammadfawaz/Desktop/leo/crates/ast/src/passes/visitor.rs:80:38
leo_ast::passes::visitor::AstVisitor::visit_type
at /Users/mohammadfawaz/Desktop/leo/crates/ast/src/passes/visitor.rs:51:53
11: leo_ast::passes::visitor::ProgramVisitor::visit_function_prototype::{{closure}}
at /Users/mohammadfawaz/Desktop/leo/crates/ast/src/passes/visitor.rs:413:50
<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/slice/iter/macros.rs:301:21
leo_ast::passes::visitor::ProgramVisitor::visit_function_prototype
at /Users/mohammadfawaz/Desktop/leo/crates/ast/src/passes/visitor.rs:413:28
leo_ast::passes::visitor::ProgramVisitor::visit_interface::{{closure}}
...
🐛 Bug Report
The following:
struct S::[N: u32] { x: u32, } interface Foo { fn main(x: S::[2u32.exp(2u32)]); } program bad_op.aleo { fn main() {} }fails with