panicked at 'slice index starts at 2 but ends at 1'
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 'slice index starts at 2 but ends at 1', /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/values/index.rs:129:19
stack backtrace:
0: rust_begin_unwind
1: core::panicking::panic_fmt
2: core::slice::index::slice_index_order_fail
3: <core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index
at /home/sxia/code/rust-compiler/library/core/src/slice/index.rs:238:13
4: core::slice::index::<impl core::ops::index::Index<I> for [T]>::index
at /home/sxia/code/rust-compiler/library/core/src/slice/index.rs:15:9
5: starlark::values::index::apply_slice
at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/values/index.rs:129:19
6: <starlark::values::types::string::StarlarkStr as starlark::values::traits::StarlarkValue>::slice
at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/values/types/string.rs:349:22
7: <starlark::values::layout::avalue::Wrapper<Mode,T> as starlark::values::traits::StarlarkValueDyn>::slice
at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/values/layout/avalue.rs:598:9
8: starlark::values::<impl starlark::values::layout::value::Value>::slice
at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/values/mod.rs:497:9
9: starlark::eval::fragment::expr::eval_slice::{{closure}}
at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/fragment/expr.rs:554:13
10: starlark::eval::fragment::expr::eval_slice::ann_expr_slice::{{closure}}
at /home/sxia/.cargo/git/checkouts/starlark-rust-59575ffdf833204c/458a203/starlark/src/eval/fragment/mod.rs:44:33
11: <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
12: 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
13: 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
14: <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
15: 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
16: <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
17: 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
18: 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
19: 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
20: 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
...
Thanks for the awesome bug report! Fixed in ce5ef1b