)]}'
{"tvix/nix-compat/src/nixhash.rs":[{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"7c0684e99e6e179a601d999984c6ad873c803be3","unresolved":true,"context_lines":[{"line_number":60,"context_line":"        D: Deserializer\u003c\u0027de\u003e,"},{"line_number":61,"context_line":"    {"},{"line_number":62,"context_line":"        // TODO: don\u0027t use serde_json here?"},{"line_number":63,"context_line":"        // TODO: serde seems to simply set `hash_with_mode` to None if hash"},{"line_number":64,"context_line":"        // and hashAlgo fail, but that should be a proper deserialization error"},{"line_number":65,"context_line":"        // that should be propagated to the user!"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        let json \u003d serde_json::Value::deserialize(deserializer)?;"},{"line_number":68,"context_line":"        match json.as_object() {"},{"line_number":69,"context_line":"            None \u003d\u003e Err(serde::de::Error::custom(\"couldn\u0027t parse as map\"))?,"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"14f09894_5fd443d3","line":66,"range":{"start_line":63,"start_character":0,"end_line":66,"end_character":0},"updated":"2023-03-14 20:13:10.000000000","message":"I don\u0027t understand this comment. Serde is only responsible for giving you a view of the JSON structure here, which it should do perfectly.","commit_id":"1d574b62b5e7bd3ec3934ed286a160ce728f5a2c"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d5170f461c020bcae5364761f16e9b5ba0e1130","unresolved":true,"context_lines":[{"line_number":60,"context_line":"        D: Deserializer\u003c\u0027de\u003e,"},{"line_number":61,"context_line":"    {"},{"line_number":62,"context_line":"        // TODO: don\u0027t use serde_json here?"},{"line_number":63,"context_line":"        // TODO: serde seems to simply set `hash_with_mode` to None if hash"},{"line_number":64,"context_line":"        // and hashAlgo fail, but that should be a proper deserialization error"},{"line_number":65,"context_line":"        // that should be propagated to the user!"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        let json \u003d serde_json::Value::deserialize(deserializer)?;"},{"line_number":68,"context_line":"        match json.as_object() {"},{"line_number":69,"context_line":"            None \u003d\u003e Err(serde::de::Error::custom(\"couldn\u0027t parse as map\"))?,"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"fa2ff19c_bf742c50","line":66,"range":{"start_line":63,"start_character":0,"end_line":66,"end_character":0},"in_reply_to":"14f09894_5fd443d3","updated":"2023-03-14 20:52:33.000000000","message":"I initially made a mistake while implementing Deserialize, and mistakenly used nixbase32.decode, instead of data_encoding::HEXLOWER.decode, and instead of getting presented a Decoding error, serde simply swallowed the whole hash_with_mode attribute (made it a None), which was a nightmare to find.\n\nAs soon as `hash` and `hashAlgo` fields are set in the JSON structure / serde data model, I\u0027d expect it to return an error to me if these fields have wrong values, which it didn\u0027t.\n\nThis TODO is about making sure it does.","commit_id":"1d574b62b5e7bd3ec3934ed286a160ce728f5a2c"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"387a163ca1ab5ccc0fb3b273786fc7d1a3c61d0c","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        D: Deserializer\u003c\u0027de\u003e,"},{"line_number":61,"context_line":"    {"},{"line_number":62,"context_line":"        // TODO: don\u0027t use serde_json here?"},{"line_number":63,"context_line":"        // TODO: serde seems to simply set `hash_with_mode` to None if hash"},{"line_number":64,"context_line":"        // and hashAlgo fail, but that should be a proper deserialization error"},{"line_number":65,"context_line":"        // that should be propagated to the user!"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        let json \u003d serde_json::Value::deserialize(deserializer)?;"},{"line_number":68,"context_line":"        match json.as_object() {"},{"line_number":69,"context_line":"            None \u003d\u003e Err(serde::de::Error::custom(\"couldn\u0027t parse as map\"))?,"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"46b01887_d57cd8d5","line":66,"range":{"start_line":63,"start_character":0,"end_line":66,"end_character":0},"in_reply_to":"25aa5766_86d008c3","updated":"2023-03-15 20:38:05.000000000","message":"This might be https://github.com/serde-rs/json/issues/644#issuecomment-606333160 - see the Rust playground at https://play.rust-lang.org/?version\u003dstable\u0026mode\u003ddebug\u0026edition\u003d2018\u0026gist\u003ddbe5c4724844ad4a652ec334b7b4b3c7 .","commit_id":"1d574b62b5e7bd3ec3934ed286a160ce728f5a2c"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"b068b9759e569f0dc87f3ad0e914dc7a85b3c397","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        D: Deserializer\u003c\u0027de\u003e,"},{"line_number":61,"context_line":"    {"},{"line_number":62,"context_line":"        // TODO: don\u0027t use serde_json here?"},{"line_number":63,"context_line":"        // TODO: serde seems to simply set `hash_with_mode` to None if hash"},{"line_number":64,"context_line":"        // and hashAlgo fail, but that should be a proper deserialization error"},{"line_number":65,"context_line":"        // that should be propagated to the user!"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        let json \u003d serde_json::Value::deserialize(deserializer)?;"},{"line_number":68,"context_line":"        match json.as_object() {"},{"line_number":69,"context_line":"            None \u003d\u003e Err(serde::de::Error::custom(\"couldn\u0027t parse as map\"))?,"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"25aa5766_86d008c3","line":66,"range":{"start_line":63,"start_character":0,"end_line":66,"end_character":0},"in_reply_to":"fa2ff19c_bf742c50","updated":"2023-03-15 11:49:52.000000000","message":"Ack","commit_id":"1d574b62b5e7bd3ec3934ed286a160ce728f5a2c"}]}
