facebook / starlark-rust

A Rust implementation of the Starlark language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

panicked at 'assertion failed: self.kwargs.is_none()'

charlesxsh opened this issue · comments

For given input file:
in.zip
The following code:

use starlark::eval::Evaluator;
use starlark::environment::{Module, Globals};
use starlark::values::Value;
use starlark::syntax::{AstModule, Dialect};


fn main() {
    // change filepath to the input file
    let data = std::fs::read(filepath).unwrap();
        let _  = match std::str::from_utf8(&data) {
            Ok(d) => {
                if let Ok(ast) = AstModule::parse("hello_world.star", d.to_owned(), &Dialect::Standard) {
                   
                    let globals: Globals = Globals::standard();

                    let module: Module = Module::new();

                    let mut eval: Evaluator = Evaluator::new(&module, &globals);

                    eval.eval_module(ast);  
                }

                
            },
            Err(..) => return,
        };
       
}

has output:

thread 'main' panicked at 'assertion failed: self.kwargs.is_none()', /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/runtime/arguments.rs:155:9
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: starlark::eval::runtime::arguments::ParametersSpec<V>::add
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/runtime/arguments.rs:155:9
   4: starlark::eval::runtime::arguments::ParametersSpec<V>::required
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/runtime/arguments.rs:172:9
   5: starlark::eval::fragment::def::DefCompiled::as_compiled::{{closure}}
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/fragment/def.rs:210:56
   6: starlark::eval::fragment::def::DefCompiled::as_compiled::ann_expr_def::{{closure}}
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/fragment/mod.rs:29:33
   7: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /home/sxia/code/rust-compiler/library/alloc/src/boxed.rs:1652:9
   8: starlark::eval::fragment::stmt::<impl starlark::codemap::Spanned<starlark::eval::fragment::stmt::StmtCompiledValue>>::as_compiled::{{closure}}
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/fragment/stmt.rs:95:54
   9: starlark::eval::fragment::stmt::<impl starlark::codemap::Spanned<starlark::eval::fragment::stmt::StmtCompiledValue>>::as_compiled::ann_stmt_return::{{closure}}
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/fragment/mod.rs:88:33
  10: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /home/sxia/code/rust-compiler/library/alloc/src/boxed.rs:1652:9
  11: starlark::eval::fragment::stmt::StmtsCompiled::as_compiled::{{closure}}
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/fragment/stmt.rs:310:25
  12: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /home/sxia/code/rust-compiler/library/alloc/src/boxed.rs:1652:9
  13: starlark::eval::fragment::module::<impl starlark::eval::compiler::Compiler>::eval_top_level_stmt
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/fragment/module.rs:81:17
  14: starlark::eval::fragment::module::<impl starlark::eval::compiler::Compiler>::eval_top_level_stmt
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/fragment/module.rs:74:21
  15: starlark::eval::fragment::module::<impl starlark::eval::compiler::Compiler>::eval_module
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/fragment/module.rs:92:9
  16: starlark::eval::<impl starlark::eval::runtime::evaluator::Evaluator>::eval_module
             at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/mod.rs:148:19
...

Not sure if it is related to #37

Pretty sure it's the same as #36 and #37