From 6e3138299696484c64e6dd67ec8240a02ee1db55 Mon Sep 17 00:00:00 2001 From: Andrew Dunbar Date: Wed, 17 Jun 2026 18:00:54 +0800 Subject: [PATCH 1/3] fix: standard English grammar/phrasing --- exercises/11_hashmaps/hashmaps3.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/exercises/11_hashmaps/hashmaps3.rs b/exercises/11_hashmaps/hashmaps3.rs index 5b390ab9b8..ba5a0e70e6 100644 --- a/exercises/11_hashmaps/hashmaps3.rs +++ b/exercises/11_hashmaps/hashmaps3.rs @@ -2,7 +2,7 @@ // the form ",,," // Example: "England,France,4,2" (England scored 4 goals, France 2). // -// You have to build a scores table containing the name of the team, the total +// You have to build a table of scores containing the name of the team, the total // number of goals the team scored, and the total number of goals the team // conceded. @@ -15,19 +15,19 @@ struct TeamScores { goals_conceded: u8, } -fn build_scores_table(results: &str) -> HashMap<&str, TeamScores> { +fn build_score_table(results: &str) -> HashMap<&str, TeamScores> { // The name of the team is the key and its associated struct is the value. let mut scores = HashMap::<&str, TeamScores>::new(); for line in results.lines() { let mut split_iterator = line.split(','); - // NOTE: We use `unwrap` because we didn't deal with error handling yet. + // NOTE: We use `unwrap` because we haven't dealt with error handling yet. let team_1_name = split_iterator.next().unwrap(); let team_2_name = split_iterator.next().unwrap(); let team_1_score: u8 = split_iterator.next().unwrap().parse().unwrap(); let team_2_score: u8 = split_iterator.next().unwrap().parse().unwrap(); - // TODO: Populate the scores table with the extracted details. + // TODO: Populate the score table with the extracted details. // Keep in mind that goals scored by team 1 will be the number of goals // conceded by team 2. Similarly, goals scored by team 2 will be the // number of goals conceded by team 1. @@ -52,7 +52,7 @@ England,Spain,1,0"; #[test] fn build_scores() { - let scores = build_scores_table(RESULTS); + let scores = build_score_table(RESULTS); assert!(["England", "France", "Germany", "Italy", "Poland", "Spain"] .into_iter() @@ -61,7 +61,7 @@ England,Spain,1,0"; #[test] fn validate_team_score_1() { - let scores = build_scores_table(RESULTS); + let scores = build_score_table(RESULTS); let team = scores.get("England").unwrap(); assert_eq!(team.goals_scored, 6); assert_eq!(team.goals_conceded, 4); @@ -69,7 +69,7 @@ England,Spain,1,0"; #[test] fn validate_team_score_2() { - let scores = build_scores_table(RESULTS); + let scores = build_score_table(RESULTS); let team = scores.get("Spain").unwrap(); assert_eq!(team.goals_scored, 0); assert_eq!(team.goals_conceded, 3); From ab91098fda3a1152b3f0179a2fa902f1b1151a4d Mon Sep 17 00:00:00 2001 From: hippietrail Date: Mon, 22 Jun 2026 18:23:25 +0800 Subject: [PATCH 2/3] fix: bring solution in line with exercise --- solutions/11_hashmaps/hashmaps3.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/solutions/11_hashmaps/hashmaps3.rs b/solutions/11_hashmaps/hashmaps3.rs index 485bf83034..b3a046ce97 100644 --- a/solutions/11_hashmaps/hashmaps3.rs +++ b/solutions/11_hashmaps/hashmaps3.rs @@ -2,7 +2,7 @@ // the form ",,," // Example: "England,France,4,2" (England scored 4 goals, France 2). // -// You have to build a scores table containing the name of the team, the total +// You have to build a table of scores containing the name of the team, the total // number of goals the team scored, and the total number of goals the team // conceded. @@ -15,13 +15,13 @@ struct TeamScores { goals_conceded: u8, } -fn build_scores_table(results: &str) -> HashMap<&str, TeamScores> { +fn build_score_table(results: &str) -> HashMap<&str, TeamScores> { // The name of the team is the key and its associated struct is the value. let mut scores = HashMap::<&str, TeamScores>::new(); for line in results.lines() { let mut split_iterator = line.split(','); - // NOTE: We use `unwrap` because we didn't deal with error handling yet. + // NOTE: We use `unwrap` because we haven't dealt with error handling yet. let team_1_name = split_iterator.next().unwrap(); let team_2_name = split_iterator.next().unwrap(); let team_1_score: u8 = split_iterator.next().unwrap().parse().unwrap(); @@ -58,7 +58,7 @@ England,Spain,1,0"; #[test] fn build_scores() { - let scores = build_scores_table(RESULTS); + let scores = build_score_table(RESULTS); assert!( ["England", "France", "Germany", "Italy", "Poland", "Spain"] @@ -69,7 +69,7 @@ England,Spain,1,0"; #[test] fn validate_team_score_1() { - let scores = build_scores_table(RESULTS); + let scores = build_score_table(RESULTS); let team = scores.get("England").unwrap(); assert_eq!(team.goals_scored, 6); assert_eq!(team.goals_conceded, 4); @@ -77,7 +77,7 @@ England,Spain,1,0"; #[test] fn validate_team_score_2() { - let scores = build_scores_table(RESULTS); + let scores = build_score_table(RESULTS); let team = scores.get("Spain").unwrap(); assert_eq!(team.goals_scored, 0); assert_eq!(team.goals_conceded, 3); From d45578d1baec0b1d62da808664580ca37f6e3de6 Mon Sep 17 00:00:00 2001 From: mo8it Date: Tue, 23 Jun 2026 12:30:32 +0200 Subject: [PATCH 3/3] Update checkout action --- .github/workflows/rust.yml | 10 +++++----- .github/workflows/website.yml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index a52d0730b0..fe4478d045 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -21,13 +21,13 @@ jobs: clippy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Clippy run: cargo clippy -- --deny warnings fmt: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: rustfmt run: cargo fmt --all --check test: @@ -36,7 +36,7 @@ jobs: matrix: os: [ubuntu-latest, windows-latest, macos-latest] steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: swatinem/rust-cache@v2 - name: cargo test env: @@ -45,12 +45,12 @@ jobs: dev-check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: swatinem/rust-cache@v2 - name: rustlings dev check run: cargo dev check --require-solutions rumdl: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: rvben/rumdl@v0 diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 135cd1e2e1..3a47d0b2cf 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -12,7 +12,7 @@ jobs: rumdl: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: rvben/rumdl@v0 build: needs: rumdl @@ -21,7 +21,7 @@ jobs: working-directory: website runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Install TailwindCSS run: npm install - name: Build CSS