From 7f64d6d54dcba2fd25c1548e2cdf12b285c0d2e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakob=20R=C3=B6nnb=C3=A4ck?= Date: Thu, 5 Feb 2026 10:57:52 +0100 Subject: [PATCH] Step 3: Page 28 --- src/main.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main.rs b/src/main.rs index c0d199e..e7e7755 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ use clap::{Parser, Subcommand}; +use serde::{Deserialize, Serialize}; #[derive(Parser)] #[command(name = "todo")] @@ -16,6 +17,19 @@ enum Commands { Remove { id: usize }, } +#[derive(Serialize, Deserialize, Debug)] +struct Task { + id: usize, + description: String, + completed: bool, +} + +#[derive(Serialize, Deserialize, Debug)] +struct TodoList { + tasks: Vec, + next_id: usize, +} + fn main() { let cli = Cli::parse(); match cli.command {