use serde::{Deserialize, Serialize};
#[derive(Default, Deserialize, Serialize, Debug)]
pub struct RunResult {
#[serde(default)]
pub elapsed_time: u32,
#[serde(default)]
pub finished: bool,
#[serde(default)]
pub task_name: String,
#[serde(default)]
pub status_code: i64,
#[serde(default)]
pub status_msg: String,
#[serde(default)]
pub question_id: String,
#[serde(default)]
pub std_output: String,
#[serde(default)]
pub expected_output: String,
#[serde(default)]
pub last_testcase: String,
#[serde(default)]
pub code_answer: Vec<String>,
#[serde(default)]
pub compare_result: String,
#[serde(default)]
pub correct_answer: bool,
#[serde(default)]
pub expected_code_answer: Vec<String>,
#[serde(default)]
pub expected_code_output: Vec<String>,
#[serde(default)]
pub pretty_lang: String,
#[serde(default)]
pub lang: String,
#[serde(default)]
pub memory: u64,
#[serde(default)]
pub status_memory: String,
#[serde(default)]
pub memory_percentile: Option<f64>,
#[serde(default)]
pub status_runtime: String,
#[serde(default)]
pub runtime_percentile: Option<f64>,
#[serde(default)]
pub run_success: bool,
#[serde(default)]
pub state: String,
#[serde(default)]
pub std_output_list: Vec<String>,
#[serde(default)]
pub submission_id: String,
#[serde(default)]
pub task_finish_time: u64,
#[serde(default)]
pub total_correct: Option<u64>,
#[serde(default)]
pub total_testcases: Option<u64>,
#[serde(default)]
pub full_runtime_error: String,
#[serde(default)]
pub runtime_error: String,
#[serde(default)]
pub compile_error: String,
#[serde(default)]
pub full_compile_error: String,
}