)]}'
{"tvix/cli/src/derivation.rs":[{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"23a7325a6fc76a778011671b620066b17cc4535d","unresolved":true,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"                let algo \u003d match hash_mode.as_deref() {"},{"line_number":108,"context_line":"                    None | Some(\"flat\") \u003d\u003e algo,"},{"line_number":109,"context_line":"                    Some(\"recursive\") \u003d\u003e format!(\"r:{algo}\"),"},{"line_number":110,"context_line":"                    Some(other) \u003d\u003e {"},{"line_number":111,"context_line":"                        return Err(Error::InvalidOutputHashMode(other.to_string()).into())"},{"line_number":112,"context_line":"                    }"}],"source_content_type":"text/x-rustsrc","patch_set":4,"id":"be1c2ecc_287fdc9f","line":109,"updated":"2023-01-23 18:56:18.000000000","message":"I thought you consider interpolation here a misfeature? ;-)","commit_id":"d83afa4694a25ed509e5267aadd67834c2a4a727"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"168e20b91879b86c55feae963c10931150469f41","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"                let algo \u003d match hash_mode.as_deref() {"},{"line_number":108,"context_line":"                    None | Some(\"flat\") \u003d\u003e algo,"},{"line_number":109,"context_line":"                    Some(\"recursive\") \u003d\u003e format!(\"r:{algo}\"),"},{"line_number":110,"context_line":"                    Some(other) \u003d\u003e {"},{"line_number":111,"context_line":"                        return Err(Error::InvalidOutputHashMode(other.to_string()).into())"},{"line_number":112,"context_line":"                    }"}],"source_content_type":"text/x-rustsrc","patch_set":4,"id":"58291b98_0898698a","line":109,"in_reply_to":"be1c2ecc_287fdc9f","updated":"2023-01-24 08:06:43.000000000","message":"Done","commit_id":"d83afa4694a25ed509e5267aadd67834c2a4a727"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"7873529f6b626db802a651ac3114d0e0a243ad2e","unresolved":true,"context_lines":[{"line_number":124,"context_line":"            }"},{"line_number":125,"context_line":"        },"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        _ \u003d\u003e {}"},{"line_number":128,"context_line":"    }"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    Ok(())"}],"source_content_type":"text/x-rustsrc","patch_set":11,"id":"23eaf25e_4b3d73e6","line":127,"updated":"2023-01-26 23:16:58.000000000","message":"Clippy complains this whole match could become a\n\n````\n    if let (Some(hash), Some(algo), hash_mode) \u003d (hash, hash_algo, hash_mode) {\n        match drv.outputs.get_mut(\"out\") {\n```\n\nI\u0027m wondering though, how should we handle other cases, and can they even happen?\n\nSould we handle a `None` `outputHashAlgo` similar to it being an empty string? What about the `r:` prefix depending on outputHashMode? Should it apply in these cases too?\n\nLooking at cl/7756, we unconditionally seem to be running this on all derivations - if that\u0027s the case, maybe add an explaining comment to the top?\n\nAnother idea would be to do the VM forcing outside of populate_output_configuration, and then blend this and cl/7933 back together.\n\nThis would also allow us to get rid of the fake VM.","commit_id":"1a798134bec308b65ba4662cc73bc99a63f65de8"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"89f4035315ab042676f7ccfd6184d8b3614db32e","unresolved":true,"context_lines":[{"line_number":124,"context_line":"            }"},{"line_number":125,"context_line":"        },"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        _ \u003d\u003e {}"},{"line_number":128,"context_line":"    }"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    Ok(())"}],"source_content_type":"text/x-rustsrc","patch_set":11,"id":"a1e0e6f2_4010f7eb","line":127,"in_reply_to":"23eaf25e_4b3d73e6","updated":"2023-01-27 00:28:28.000000000","message":"\u003e Sould we handle a None outputHashAlgo similar to it being an empty string? What about the r: prefix depending on outputHashMode? Should it apply in these cases too?\n\nI think we\u0027ll find out as we eval more of nixpkgs!\n\n\u003e Looking at cl/7756, we unconditionally seem to be running this on all derivations - if that\u0027s the case, maybe add an explaining comment to the top?\n\nWhat would you add to the existing comment?\n\n\u003e Another idea would be to do the VM forcing outside of populate_output_configuration, and then blend this and cl/7933 back together.\n\nI\u0027ll try this to see how it looks, but on top of the chain as this has uses throughout the next few children and I also think it deserves an explanatory commit.","commit_id":"1a798134bec308b65ba4662cc73bc99a63f65de8"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"e6f25605907eb7ac576c4412a886f0976085f6b8","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            }"},{"line_number":125,"context_line":"        },"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        _ \u003d\u003e {}"},{"line_number":128,"context_line":"    }"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    Ok(())"}],"source_content_type":"text/x-rustsrc","patch_set":11,"id":"f09c950f_bed59744","line":127,"in_reply_to":"a1e0e6f2_4010f7eb","updated":"2023-01-27 00:43:04.000000000","message":"Doing that refactor in cl/7939. It\u0027s a little more complex than a 3 minute change, so I\u0027ll finish that up probably tomorrow, but it doesn\u0027t block this CL.","commit_id":"1a798134bec308b65ba4662cc73bc99a63f65de8"}]}
