From 11aecefd7f991aec137ed80942afc5ed2bfc8b07 Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Sun, 21 Jan 2024 16:26:36 -0800 Subject: [PATCH] Update toml to 0.8 --- Cargo.lock | 77 +++++++++++++++++-- Cargo.toml | 2 +- src/config.rs | 3 +- src/handlers/assign/tests/tests_candidates.rs | 8 +- src/handlers/assign/tests/tests_from_diff.rs | 2 +- 5 files changed, 79 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 72099b3d..73f1cc3c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -508,6 +508,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca" +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "fake-simd" version = "0.1.2" @@ -760,7 +766,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 1.8.1", "slab", "tokio", "tokio-util 0.7.1", @@ -782,6 +788,12 @@ dependencies = [ "ahash", ] +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + [[package]] name = "heck" version = "0.4.1" @@ -962,6 +974,16 @@ dependencies = [ "serde", ] +[[package]] +name = "indexmap" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", +] + [[package]] name = "instant" version = "0.1.12" @@ -1069,9 +1091,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.4.1" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "mime" @@ -1806,7 +1828,7 @@ name = "rust_team_data" version = "1.0.0" source = "git+https://github.com/rust-lang/team#49683ec8af9ca6b546b3af516ea4654424e302eb" dependencies = [ - "indexmap", + "indexmap 1.8.1", "serde", ] @@ -1978,6 +2000,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -2383,11 +2414,36 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.8" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" dependencies = [ + "indexmap 2.1.0", "serde", + "serde_spanned", + "toml_datetime", + "winnow", ] [[package]] @@ -2958,6 +3014,15 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "winnow" +version = "0.5.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.50.0" diff --git a/Cargo.toml b/Cargo.toml index eaf1ed15..27736094 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ hex = "0.4" parser = { path = "parser" } rust_team_data = { git = "https://github.com/rust-lang/team" } glob = "0.3.0" -toml = "0.5.1" +toml = "0.8.8" hyper = { version = "0.14.4", features = ["server", "stream"]} tokio = { version = "1.7.1", features = ["macros", "time", "rt"] } futures = { version = "0.3", default-features = false, features = ["std"] } diff --git a/src/config.rs b/src/config.rs index 8312aab3..17f22ceb 100644 --- a/src/config.rs +++ b/src/config.rs @@ -307,7 +307,8 @@ async fn get_fresh_config( .await .map_err(|e| ConfigurationError::Http(Arc::new(e)))? .ok_or(ConfigurationError::Missing)?; - let config = Arc::new(toml::from_slice::(&contents).map_err(ConfigurationError::Toml)?); + let contents = String::from_utf8_lossy(&*contents); + let config = Arc::new(toml::from_str::(&contents).map_err(ConfigurationError::Toml)?); log::debug!("fresh configuration for {}: {:?}", repo.full_name, config); Ok(config) } diff --git a/src/handlers/assign/tests/tests_candidates.rs b/src/handlers/assign/tests/tests_candidates.rs index f78aeca4..861ca7aa 100644 --- a/src/handlers/assign/tests/tests_candidates.rs +++ b/src/handlers/assign/tests/tests_candidates.rs @@ -4,8 +4,8 @@ use super::super::*; /// Basic test function for testing `candidate_reviewers_from_names`. fn test_from_names( - teams: Option, - config: toml::Value, + teams: Option, + config: toml::Table, issue: serde_json::Value, names: &[&str], expected: Result<&[&str], FindReviewerError>, @@ -32,8 +32,8 @@ fn test_from_names( /// Convert the simplified input in preparation for `candidate_reviewers_from_names`. fn convert_simplified( - teams: Option, - config: toml::Value, + teams: Option, + config: toml::Table, issue: serde_json::Value, ) -> (Teams, AssignConfig, Issue) { // Convert the simplified team config to a real team config. diff --git a/src/handlers/assign/tests/tests_from_diff.rs b/src/handlers/assign/tests/tests_from_diff.rs index 05729cf0..7cd418be 100644 --- a/src/handlers/assign/tests/tests_from_diff.rs +++ b/src/handlers/assign/tests/tests_from_diff.rs @@ -5,7 +5,7 @@ use crate::config::AssignConfig; use crate::github::parse_diff; use std::fmt::Write; -fn test_from_diff(diff: &str, config: toml::Value, expected: &[&str]) { +fn test_from_diff(diff: &str, config: toml::Table, expected: &[&str]) { let files = parse_diff(diff); let aconfig: AssignConfig = config.try_into().unwrap(); assert_eq!(