1
0

23 lines
629 B
Rust
Raw Normal View History

2024-12-17 07:10:47 -05:00
use std::{ops::Range, panic};
2025-01-08 23:02:08 -05:00
use crate::vm::ThreadData;
pub fn panic(data: &mut ThreadData, _: u8, argument_range: Range<u8>) -> bool {
let position = data.current_position();
2024-12-17 07:10:47 -05:00
let mut message = format!("Dust panic at {position}!");
2024-12-17 07:10:47 -05:00
for register_index in argument_range {
let value_option = data.open_register_allow_empty_unchecked(register_index);
let value = match value_option {
Some(value) => value,
None => continue,
};
let string = value.display(data);
message.push_str(&string);
message.push('\n');
}
2024-12-17 07:10:47 -05:00
panic!("{}", message)
}