-
Notifications
You must be signed in to change notification settings - Fork 711
[Bug] Entry point functions cannot be generic #29303
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't working🧱 Core CompilerAnything related to the core compiler including parsing, analysis, transforms, codegen, etc.Anything related to the core compiler including parsing, analysis, transforms, codegen, etc.
Description
🐛 Bug Report
The following fails with a panic. It should fail gracefully with an error instead:
program simple.aleo {
fn store::[N: u32]() -> u32 {
return N;
}
}error:
❯ leo build
⚠️ No network specified, defaulting to 'testnet'.
⚠️ No endpoint specified, defaulting to 'https://api.explorer.provable.com/v1'.
Leo 🔨 Compiling 'bad_gen.aleo'
thread `main` panicked at crates/passes/src/code_generation/expression.rs:107:46:
guaranteed by pass pipeline.
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:698: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: core::panicking::panic_display
at /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/core/src/panicking.rs:259:5
core::option::expect_failed
at /rustc/e408947bfd200af42db322daf0fadfe7e26d3bd1/library/core/src/option.rs:2208:5
10: core::option::Option<T>::expect
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:971:21
leo_passes::code_generation::expression::<impl leo_passes::code_generation::visitor::CodeGeneratingVisitor>::visit_path
at /Users/mohammadfawaz/Desktop/leo/crates/passes/src/code_generation/expression.rs:107:46
11: leo_passes::code_generation::expression::<impl leo_passes::code_generation::visitor::CodeGeneratingVisitor>::visit_expression
at /Users/mohammadfawaz/Desktop/leo/crates/passes/src/code_generation/expression.rs:78:50
12: leo_passes::code_generation::statement::<impl leo_passes::code_generation::visitor::CodeGeneratingVisitor>::visit_return
at /Users/mohammadfawaz/Desktop/leo/crates/passes/src/code_generation/statement.rs:122:51
13: leo_passes::code_generation::statement::<impl leo_passes::code_generation::visitor::CodeGeneratingVisitor>::visit_block::{{closure}}
at /Users/mohammadfawaz/Desktop/leo/crates/passes/src/code_generation/statement.rs:267:54
core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:310:21
core::option::Option<T>::map
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:1165:29
<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/adapters/map.rs:107:26
<core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::next
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/adapters/fuse.rs:381:29
<core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::next
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/adapters/fuse.rs:50:9
<core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/adapters/flatten.rs:523:29
<core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::next
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/adapters/flatten.rs:64:20
14: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/vec/spec_from_iter_nested.rs:24:41
<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/vec/spec_from_iter.rs:33:9
15: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs:3801:9
core::iter::traits::iterator::Iterator::collect
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:2035:9
leo_passes::code_generation::statement::<impl leo_passes::code_generation::visitor::CodeGeneratingVisitor>::visit_block
at /Users/mohammadfawaz/Desktop/leo/crates/passes/src/code_generation/statement.rs:267:77
leo_passes::code_generation::program::<impl leo_passes::code_generation::visitor::CodeGeneratingVisitor>::visit_function_with
at /Users/mohammadfawaz/Desktop/leo/crates/passes/src/code_generation/program.rs:298:35
16: leo_passes::code_generation::program::<impl leo_passes::code_generation::visitor::CodeGeneratingVisitor>::visit_program::{{closure}}
at /Users/mohammadfawaz/Desktop/leo/crates/passes/src/code_generation/program.rs:95:50
core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
at /Users/mohammadfawaz/.rustup/toolchains/1.94.1-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:298:21
...Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working🧱 Core CompilerAnything related to the core compiler including parsing, analysis, transforms, codegen, etc.Anything related to the core compiler including parsing, analysis, transforms, codegen, etc.