)]}'
{"tvix/eval/src/value/mod.rs":[{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"926311308d13093d49162cca43a48ec15e08a87f","unresolved":true,"context_lines":[{"line_number":505,"context_line":"                    return Ok(Value::Bool(false));"},{"line_number":506,"context_line":"                }"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"                let iter1 \u003d a1.iter_sorted();"},{"line_number":509,"context_line":"                let iter2 \u003d a2.iter_sorted();"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"                for ((k1, v1), (k2, v2)) in iter1.zip(iter2) {"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"49ead830_005618a7","line":508,"updated":"2023-11-02 20:38:58.000000000","message":"likewise, we should have a comment here (or at the clone) describing why we do it that way.","commit_id":"6c083a6d87c46ae0d648e1750f436dae6734eb0a"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"7911c48b1e6dc02765587d7f938e636ddbeb5c0b","unresolved":true,"context_lines":[{"line_number":505,"context_line":"                    return Ok(Value::Bool(false));"},{"line_number":506,"context_line":"                }"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"                let iter1 \u003d a1.iter_sorted();"},{"line_number":509,"context_line":"                let iter2 \u003d a2.iter_sorted();"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"                for ((k1, v1), (k2, v2)) in iter1.zip(iter2) {"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"adabff9b_ede204b6","line":508,"in_reply_to":"0f9d62af_c3287153","updated":"2023-11-03 07:22:31.000000000","message":"The previous iteration did do the clone all the time, because it was hidden in into_iter. Adding a small comment here, mentioning we don\u0027t use into_iter, but iter[_sorted], to defer the cloning to later should only help when reading that code later, not hurt.","commit_id":"6c083a6d87c46ae0d648e1750f436dae6734eb0a"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"3c6f9f63376191560f6a56b6f1eb7d1af7ead6af","unresolved":true,"context_lines":[{"line_number":505,"context_line":"                    return Ok(Value::Bool(false));"},{"line_number":506,"context_line":"                }"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"                let iter1 \u003d a1.iter_sorted();"},{"line_number":509,"context_line":"                let iter2 \u003d a2.iter_sorted();"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"                for ((k1, v1), (k2, v2)) in iter1.zip(iter2) {"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"0f9d62af_c3287153","line":508,"in_reply_to":"49ead830_005618a7","updated":"2023-11-03 07:00:38.000000000","message":"You mean for the whole comparison algorithm? As far as this change is concerned, the previous version was *more* surprising (always causing a full clone of *both* sides, even if they weren\u0027t equal at all).","commit_id":"6c083a6d87c46ae0d648e1750f436dae6734eb0a"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"84579b987689d1f8f56243caa3928f07f8d00107","unresolved":true,"context_lines":[{"line_number":505,"context_line":"                    return Ok(Value::Bool(false));"},{"line_number":506,"context_line":"                }"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"                let iter1 \u003d a1.iter_sorted();"},{"line_number":509,"context_line":"                let iter2 \u003d a2.iter_sorted();"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"                for ((k1, v1), (k2, v2)) in iter1.zip(iter2) {"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"b68f9963_5e35c9ac","line":508,"in_reply_to":"adabff9b_ede204b6","updated":"2023-11-03 09:15:36.000000000","message":"I think we actually have a naming bug here (well, not in this file), the cloning iterator should probably be `to_iter` not `into_iter`: https://rust-lang.github.io/api-guidelines/naming.html#ad-hoc-conversions-follow-as_-to_-into_-conventions-c-conv\n\nThe iterators over the persistent data structures are odd anyways, as they have weird allocation behaviour.\n\nThis call site, in my opinion, does not need documentation for doing the correct thing - the previous version is what stood out.","commit_id":"6c083a6d87c46ae0d648e1750f436dae6734eb0a"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"41c823d2b8e42e196eea0d183b2bfa1ed3ddd984","unresolved":false,"context_lines":[{"line_number":505,"context_line":"                    return Ok(Value::Bool(false));"},{"line_number":506,"context_line":"                }"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"                let iter1 \u003d a1.iter_sorted();"},{"line_number":509,"context_line":"                let iter2 \u003d a2.iter_sorted();"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"                for ((k1, v1), (k2, v2)) in iter1.zip(iter2) {"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"cb43910d_7542ad22","line":508,"in_reply_to":"b68f9963_5e35c9ac","updated":"2023-11-03 09:18:27.000000000","message":"Opened b/329 for this.","commit_id":"6c083a6d87c46ae0d648e1750f436dae6734eb0a"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"965089e02cb8cae1b0d9fad6327fbf5e896c364c","unresolved":false,"context_lines":[{"line_number":505,"context_line":"                    return Ok(Value::Bool(false));"},{"line_number":506,"context_line":"                }"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"                let iter1 \u003d a1.iter_sorted();"},{"line_number":509,"context_line":"                let iter2 \u003d a2.iter_sorted();"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"                for ((k1, v1), (k2, v2)) in iter1.zip(iter2) {"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"6b39a011_97ac2629","line":508,"in_reply_to":"cb43910d_7542ad22","updated":"2023-11-03 09:19:29.000000000","message":"Thanks, approved!","commit_id":"6c083a6d87c46ae0d648e1750f436dae6734eb0a"}]}
