)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"5e30865d6b13f545e83b945e6890984bf4230348","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9296df13_0023f991","updated":"2022-09-22 23:00:30.000000000","message":"Otherwise I\u0027m happy with this. Not voting +2 at this moment so we can test the bizarre gerrit submit situation.","commit_id":"a4e0d34f5eb7e928f799fdda109c233f717394f7"}],"tvix/eval/src/compiler/attrs.rs":[{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"5e30865d6b13f545e83b945e6890984bf4230348","unresolved":true,"context_lines":[{"line_number":67,"context_line":"                        let val_idx \u003d self.scope_mut().declare_phantom(name_span, false);"},{"line_number":68,"context_line":"                        self.compile(val_idx, from.expr().unwrap());"},{"line_number":69,"context_line":"                        self.emit_force(\u0026from.expr().unwrap());"},{"line_number":70,"context_line":"                        self.emit_constant(Value::String(name.into()), \u0026attr);"},{"line_number":71,"context_line":"                        self.push_op(OpCode::OpAttrsSelect, \u0026attr);"},{"line_number":72,"context_line":"                        self.scope_mut().mark_initialised(val_idx);"},{"line_number":73,"context_line":"                    }"}],"source_content_type":"text/x-rustsrc","patch_set":3,"id":"42262cc9_76d04997","line":70,"range":{"start_line":70,"start_character":57,"end_line":70,"end_character":61},"updated":"2022-09-22 23:00:30.000000000","message":"Why are we not using a smolstr here? Is it cheaper to have a regular string if it\u0027s a temporary value?","commit_id":"a4e0d34f5eb7e928f799fdda109c233f717394f7"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"510a040d0a9c348c7aad1e05e9bfa072d213a2c2","unresolved":false,"context_lines":[{"line_number":67,"context_line":"                        let val_idx \u003d self.scope_mut().declare_phantom(name_span, false);"},{"line_number":68,"context_line":"                        self.compile(val_idx, from.expr().unwrap());"},{"line_number":69,"context_line":"                        self.emit_force(\u0026from.expr().unwrap());"},{"line_number":70,"context_line":"                        self.emit_constant(Value::String(name.into()), \u0026attr);"},{"line_number":71,"context_line":"                        self.push_op(OpCode::OpAttrsSelect, \u0026attr);"},{"line_number":72,"context_line":"                        self.scope_mut().mark_initialised(val_idx);"},{"line_number":73,"context_line":"                    }"}],"source_content_type":"text/x-rustsrc","patch_set":3,"id":"bddfd2f3_3835d704","line":70,"range":{"start_line":70,"start_character":57,"end_line":70,"end_character":61},"in_reply_to":"42262cc9_76d04997","updated":"2022-09-22 23:04:28.000000000","message":"It\u0027s already an owned String here, so I just wanted to avoid this for now because it wasn\u0027t necessary, but I wanna do a pass to make all runtime identifier-like things SmolStr. Will open an issue for that.","commit_id":"a4e0d34f5eb7e928f799fdda109c233f717394f7"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"06cf9ecbc1a53df41a370c8e9dbd29c51f45be2f","unresolved":false,"context_lines":[{"line_number":67,"context_line":"                        let val_idx \u003d self.scope_mut().declare_phantom(name_span, false);"},{"line_number":68,"context_line":"                        self.compile(val_idx, from.expr().unwrap());"},{"line_number":69,"context_line":"                        self.emit_force(\u0026from.expr().unwrap());"},{"line_number":70,"context_line":"                        self.emit_constant(Value::String(name.into()), \u0026attr);"},{"line_number":71,"context_line":"                        self.push_op(OpCode::OpAttrsSelect, \u0026attr);"},{"line_number":72,"context_line":"                        self.scope_mut().mark_initialised(val_idx);"},{"line_number":73,"context_line":"                    }"}],"source_content_type":"text/x-rustsrc","patch_set":3,"id":"c3efd91a_5810dc3c","line":70,"range":{"start_line":70,"start_character":57,"end_line":70,"end_character":61},"in_reply_to":"bddfd2f3_3835d704","updated":"2022-09-22 23:06:29.000000000","message":"Okay, was confused because we do construct a SmolStr from the same value a few lines above.","commit_id":"a4e0d34f5eb7e928f799fdda109c233f717394f7"}],"tvix/eval/src/compiler/mod.rs":[{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"5e30865d6b13f545e83b945e6890984bf4230348","unresolved":true,"context_lines":[{"line_number":668,"context_line":"            let key_slot \u003d if rec_attrs {"},{"line_number":669,"context_line":"                Some(KeySlot {"},{"line_number":670,"context_line":"                    slot: self.scope_mut().declare_phantom(span, false),"},{"line_number":671,"context_line":"                    name: SmolStr::new(\u0026name),"},{"line_number":672,"context_line":"                })"},{"line_number":673,"context_line":"            } else {"},{"line_number":674,"context_line":"                None"}],"source_content_type":"text/x-rustsrc","patch_set":3,"id":"e7e9adf2_6f1329e0","line":671,"updated":"2022-09-22 23:00:30.000000000","message":"Can\u0027t we avoid creating this SmolStr which is also (duplicated) in the wrapping TrackedBinding struct?","commit_id":"a4e0d34f5eb7e928f799fdda109c233f717394f7"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"510a040d0a9c348c7aad1e05e9bfa072d213a2c2","unresolved":false,"context_lines":[{"line_number":668,"context_line":"            let key_slot \u003d if rec_attrs {"},{"line_number":669,"context_line":"                Some(KeySlot {"},{"line_number":670,"context_line":"                    slot: self.scope_mut().declare_phantom(span, false),"},{"line_number":671,"context_line":"                    name: SmolStr::new(\u0026name),"},{"line_number":672,"context_line":"                })"},{"line_number":673,"context_line":"            } else {"},{"line_number":674,"context_line":"                None"}],"source_content_type":"text/x-rustsrc","patch_set":3,"id":"1fec1294_69d72013","line":671,"in_reply_to":"e7e9adf2_6f1329e0","updated":"2022-09-22 23:04:28.000000000","message":"We can put it in a local and clone it in the previous one, but I don\u0027t think that that\u0027s actually faster (they\u0027ll both still end up taking the same amount of space fwiw).","commit_id":"a4e0d34f5eb7e928f799fdda109c233f717394f7"}]}
