)]}'
{"id":"depot~10361","triplet_id":"depot~canon~I8fb8ab99c7fe08e311d2ba1c36960746bf22f566","project":"depot","branch":"canon","attention_set":{},"removed_from_attention_set":{"1000034":{"account":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"last_update":"2023-12-14 13:15:23.000000000","reason":"Change was submitted"},"1000066":{"account":{"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"},"last_update":"2023-12-14 03:05:10.000000000","reason":"\u003cGERRIT_ACCOUNT_1000066\u003e replied on the change","reason_account":{"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"}},"1000001":{"account":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"last_update":"2023-12-14 13:15:23.000000000","reason":"Change was submitted"},"1000036":{"account":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"last_update":"2023-12-14 13:15:23.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I8fb8ab99c7fe08e311d2ba1c36960746bf22f566","subject":"fix(tvix/eval): remove incorrect imports when coercing","status":"MERGED","created":"2023-12-13 13:56:35.000000000","updated":"2023-12-14 13:15:23.000000000","submitted":"2023-12-14 13:15:23.000000000","submitter":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"10361","meta_rev_id":"eea564895abc9f57987a93fe9d80638f7f088762","_number":10361,"virtual_id_number":10361,"owner":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"},"all":[{"value":0,"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"tag":"autogenerated:gerrit:merged","value":2,"date":"2023-12-14 13:15:23.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0},"Verified":{"approved":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"value":0,"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"tag":"autogenerated:gerrit:merged","value":1,"date":"2023-12-14 13:15:23.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Autosubmit":{"approved":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"all":[{"tag":"autogenerated:gerrit:merged","value":1,"date":"2023-12-14 13:15:23.000000000","_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"value":0,"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}],"values":{" 0":"Submit manually","+1":"Submit automatically"},"description":"","default_value":0,"optional":true},"All-Comments-Resolved":{"approved":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"all":[{"value":0,"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"value":0,"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]},"Conformant-Commit-Message":{"approved":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"all":[{"value":0,"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"value":0,"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"},{"value":0,"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}]}},"removable_reviewers":[{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"}],"reviewers":{"REVIEWER":[{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},{"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-12-13 13:56:36.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2023-12-13 14:06:04.000000000","updated_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2023-12-13 15:06:05.000000000","updated_by":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"reviewer":{"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"},"state":"REVIEWER"},{"updated":"2023-12-13 15:06:05.000000000","updated_by":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"reviewer":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"state":"REVIEWER"},{"updated":"2023-12-13 15:06:05.000000000","updated_by":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"reviewer":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"state":"REVIEWER"},{"updated":"2023-12-14 13:15:23.000000000","updated_by":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"6d16cd8c6073133ad436359e4a26595afe495ba1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2023-12-13 13:56:35.000000000","message":"Uploaded patch set 1: Autosubmit+1.","accounts_in_message":[],"_revision_number":1},{"id":"c33ea7353b3ad374b9a91f7f2c2de57fbceb2f56","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-12-13 13:56:36.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/tvl/depot/builds/29166","accounts_in_message":[],"_revision_number":1},{"id":"bdd0702104d3300c9f7bb33007e45d7d8740d06b","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-12-13 14:06:04.000000000","message":"Patch Set 1: Verified-1\n\nBuild of patchset 1 failed: https://buildkite.com/tvl/depot/builds/29166","accounts_in_message":[],"_revision_number":1},{"id":"b532cef3e0c0591232922758929c5cb457b09f89","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2023-12-13 14:18:03.000000000","message":"Uploaded patch set 2.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n\nOutdated Votes:\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":2},{"id":"436ad99596bf0b40ecc0094728ed829d2bba23d5","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-12-13 14:18:04.000000000","message":"Patch Set 2:\n\nStarted build for patchset #2 on: https://buildkite.com/tvl/depot/builds/29188","accounts_in_message":[],"_revision_number":2},{"id":"90b7cf618a886f9d7880782060ff7ba90aa812ff","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-12-13 14:30:28.000000000","message":"Patch Set 2: Verified-1\n\nBuild of patchset 2 failed: https://buildkite.com/tvl/depot/builds/29188","accounts_in_message":[],"_revision_number":2},{"id":"c0a8a069186bc7ae4e5ae47c50d82c1153c18391","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2023-12-13 15:01:37.000000000","message":"Uploaded patch set 3.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n\nOutdated Votes:\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":3},{"id":"92dd8f817f203e268a1313035ac071082fbe1b1c","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-12-13 15:01:38.000000000","message":"Patch Set 3:\n\nStarted build for patchset #3 on: https://buildkite.com/tvl/depot/builds/29189","accounts_in_message":[],"_revision_number":3},{"id":"de726e0d8c43138fc5f2a2cc1b80d9cfe9523fdb","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-12-13 15:05:13.000000000","message":"Patch Set 3: Verified-1\n\nBuild of patchset 3 failed: https://buildkite.com/tvl/depot/builds/29189","accounts_in_message":[],"_revision_number":3},{"id":"536a6373b17d880c10c3cb4d9f84ce198517d5b2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2023-12-13 15:05:51.000000000","message":"Uploaded patch set 4.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n\nOutdated Votes:\n* Verified-1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":4},{"id":"056314ff440eb13aa612a5cbca4c898ad3f7ae1e","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-12-13 15:05:53.000000000","message":"Patch Set 4:\n\nStarted build for patchset #4 on: https://buildkite.com/tvl/depot/builds/29190","accounts_in_message":[],"_revision_number":4},{"id":"a94fcfc711c0ce0196b6ac6b46da774d152aa547","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2023-12-13 15:06:05.000000000","message":"Patch Set 3: Autosubmit+1","accounts_in_message":[],"_revision_number":3},{"id":"9adc5d0d2ccf4d8b52ba6c1101558cb451ead4ad","tag":"autogenerated:gerrit:code-owners:addReviewer","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2023-12-13 15:06:05.000000000","message":"\u003cGERRIT_ACCOUNT_1000001\u003e, who was added as reviewer owns the following files:\n* `tvix/eval/src/builtins/mod.rs`\n* `tvix/eval/src/errors.rs`\n* `tvix/eval/src/opcode.rs`\n* `tvix/eval/src/value/json.rs`\n* `tvix/eval/src/value/mod.rs`\n* `tvix/eval/src/vm/generators.rs`\n* `tvix/eval/src/vm/mod.rs`\n* `tvix/glue/src/builtins/derivation.rs`\n\n\u003cGERRIT_ACCOUNT_1000036\u003e, who was added as reviewer owns the following files:\n* `tvix/eval/src/builtins/mod.rs`\n* `tvix/eval/src/errors.rs`\n* `tvix/eval/src/opcode.rs`\n* `tvix/eval/src/value/json.rs`\n* `tvix/eval/src/value/mod.rs`\n* `tvix/eval/src/vm/generators.rs`\n* `tvix/eval/src/vm/mod.rs`\n* `tvix/glue/src/builtins/derivation.rs`\n","accounts_in_message":[{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"}],"_revision_number":4},{"id":"8d093aaaf8e85b7968125448bfe033a33a8f741f","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-12-13 15:09:22.000000000","message":"Patch Set 4: Verified+1\n\nBuild of patchset 4 passed: https://buildkite.com/tvl/depot/builds/29190","accounts_in_message":[],"_revision_number":4},{"id":"e94d274f01e69a607752d592dff197328effd53b","author":{"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"},"date":"2023-12-14 03:05:10.000000000","message":"Patch Set 4: Code-Review+2","accounts_in_message":[],"_revision_number":4},{"id":"d84071e89e07732c825bfced9342d2b184c62bcb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"date":"2023-12-14 13:10:41.000000000","message":"Uploaded patch set 5: Patch Set 4 was rebased.\n\nCopied Votes:\n* Autosubmit+1 (copy condition: \"changekind:NO_CHANGE OR **is:ANY**\")\n* Code-Review+2 (copy condition: \"((**is:ANY** AND **has:unchanged-files**) OR is:MIN) OR changekind:NO_CHANGE\")\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":5},{"id":"43a22f5c41f84082a666ed43abb2251d50fe2408","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-12-14 13:10:42.000000000","message":"Patch Set 5:\n\nStarted build for patchset #5 on: https://buildkite.com/tvl/depot/builds/29219","accounts_in_message":[],"_revision_number":5},{"id":"34929746abeea6fcdb3f31e158af949eff752f09","tag":"autogenerated:buildkite~result","author":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]},"date":"2023-12-14 13:14:55.000000000","message":"Patch Set 5: Verified+1\n\nBuild of patchset 5 passed: https://buildkite.com/tvl/depot/builds/29219","accounts_in_message":[],"_revision_number":5},{"id":"eea564895abc9f57987a93fe9d80638f7f088762","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"date":"2023-12-14 13:15:23.000000000","message":"Change has been successfully rebased and submitted as 7165ebc43bfb1b53929fb31673c512bbbdbe4096\n\n4 is the latest approved patch-set.\nNo files were changed between the latest approved patch-set and the submitted one.\n","accounts_in_message":[],"_revision_number":6}],"current_revision_number":6,"current_revision":"7165ebc43bfb1b53929fb31673c512bbbdbe4096","revisions":{"75b10f6f2eb067203b4c68faaf09feced05f0985":{"kind":"REWORK","_number":1,"created":"2023-12-13 13:56:35.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/61/10361/1","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/61/10361/1","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/61/10361/1"}}},"commit":{"parents":[{"commit":"706723cd02aa3fae4498c8146b6dfdcef3af4ace","subject":"fix(tvix/eval): determine meaning of `+` exprs based on first type","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d706723cd02aa3fae4498c8146b6dfdcef3af4ace"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-13 13:52:07.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-13 13:52:07.000000000","tz":60},"subject":"fix(tvix/eval): resolve incorrect imports when coercing","message":"fix(tvix/eval): resolve incorrect imports when coercing\n\nThe default behavior of string coercion in C++ Nix is to weakly coerce\nand import to store if necessary. In practice, imports to store never\nhappen when coercing strongly (although it would be theoretically\npossible to achieve this with EvalState::coerceToString) and sometimes\ndon\u0027t when coercing weakly (e.g. for impure builtins, dirOf, …).\n\nTo accomodate this behavior we introduce an extra flag for\nCoercionKind::Weak and update the call sites to match the C++ Nix\nbehavior correctly. Note that it is not possible to test this properly\nin //tvix/eval tests due to the lack of an appropriate EvalIO\nimplementation being available. Tests should be added to //tvix/glue\ndown the line.\n\nChange-Id: I8fb8ab99c7fe08e311d2ba1c36960746bf22f566\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d75b10f6f2eb067203b4c68faaf09feced05f0985"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d75b10f6f2eb067203b4c68faaf09feced05f0985"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"706723cd02aa3fae4498c8146b6dfdcef3af4ace","is_merged_in_target_branch":false,"change_id":"I8059930788f9c8d98baf98e3d93d8a060ef961f2","change_number":10360,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"0cc463d348661e50d358bda2f73fbb26601825e9":{"kind":"REWORK","_number":2,"created":"2023-12-13 14:18:03.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/61/10361/2","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/61/10361/2","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/61/10361/2"}}},"commit":{"parents":[{"commit":"ab310c0a2a4ec095fe910bf5d927e78f88696bce","subject":"fix(tvix/eval): determine meaning of `+` exprs based on first type","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dab310c0a2a4ec095fe910bf5d927e78f88696bce"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-13 13:52:07.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-13 14:17:02.000000000","tz":60},"subject":"fix(tvix/eval): resolve incorrect imports when coercing","message":"fix(tvix/eval): resolve incorrect imports when coercing\n\nThe default behavior of string coercion in C++ Nix is to weakly coerce\nand import to store if necessary. In practice, imports to store never\nhappen when coercing strongly (although it would be theoretically\npossible to achieve this with EvalState::coerceToString) and sometimes\ndon\u0027t when coercing weakly (e.g. for impure builtins, dirOf, …).\n\nThis makes coerce_to_string weirder and more versatile, but prevents us\nfrom reimplementing parts of the coercion logic constantly as can be\nseen in the case of baseNameOf.\n\nTo accomodate this behavior we introduce an extra flag for\nCoercionKind::Weak and update the call sites to match the C++ Nix\nbehavior correctly. Note that it is not possible to test this properly\nin //tvix/eval tests due to the lack of an appropriate EvalIO\nimplementation being available. Tests should be added to //tvix/glue\ndown the line.\n\nChange-Id: I8fb8ab99c7fe08e311d2ba1c36960746bf22f566\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d0cc463d348661e50d358bda2f73fbb26601825e9"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d0cc463d348661e50d358bda2f73fbb26601825e9"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"ab310c0a2a4ec095fe910bf5d927e78f88696bce","is_merged_in_target_branch":false,"change_id":"I8059930788f9c8d98baf98e3d93d8a060ef961f2","change_number":10360,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"4791ee110674ed20562764a57662608aac0272c1":{"kind":"REWORK","_number":3,"created":"2023-12-13 15:01:37.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/61/10361/3","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/61/10361/3","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/61/10361/3"}}},"commit":{"parents":[{"commit":"ab310c0a2a4ec095fe910bf5d927e78f88696bce","subject":"fix(tvix/eval): determine meaning of `+` exprs based on first type","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dab310c0a2a4ec095fe910bf5d927e78f88696bce"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-13 13:52:07.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-13 14:58:58.000000000","tz":60},"subject":"fix(tvix/eval): remove incorrect imports when coercing","message":"fix(tvix/eval): remove incorrect imports when coercing\n\nThe default behavior of string coercion in C++ Nix is to weakly coerce\nand import to store if necessary. There is a flag to make it strongly\ncoerce (coerceMore) and a flag that controls whether path values have\nthe corresponding file/directory imported into the store before\nreturning the (store) path as a string (copyToStore). We need to\nimplement our equivalent to the copyToStore (import_paths) flag for the\nbenefit of weak coercions that don\u0027t import into the store (dirOf,\nbaseNameOf, readFile, ...) and strong coercions that don\u0027t import into\nthe store (toString).\n\nThis makes coerce_to_string as well as CoercionKind weirder and more\nversatile, but prevents us from reimplementing parts of the coercion\nlogic constantly as can be seen in the case of baseNameOf.\n\nNote that it is not possible to test this properly in //tvix/eval tests\ndue to the lack of an appropriate EvalIO implementation being available.\nTests should be added to //tvix/glue down the line.\n\nChange-Id: I8fb8ab99c7fe08e311d2ba1c36960746bf22f566\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d4791ee110674ed20562764a57662608aac0272c1"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d4791ee110674ed20562764a57662608aac0272c1"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"ab310c0a2a4ec095fe910bf5d927e78f88696bce","is_merged_in_target_branch":false,"change_id":"I8059930788f9c8d98baf98e3d93d8a060ef961f2","change_number":10360,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"0cfc64c2e2617443f21077f72bca4765fe59be7c":{"kind":"REWORK","_number":4,"created":"2023-12-13 15:05:51.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/61/10361/4","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/61/10361/4","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/61/10361/4"}}},"commit":{"parents":[{"commit":"ab310c0a2a4ec095fe910bf5d927e78f88696bce","subject":"fix(tvix/eval): determine meaning of `+` exprs based on first type","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003dab310c0a2a4ec095fe910bf5d927e78f88696bce"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-13 13:52:07.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-13 15:05:45.000000000","tz":60},"subject":"fix(tvix/eval): remove incorrect imports when coercing","message":"fix(tvix/eval): remove incorrect imports when coercing\n\nThe default behavior of string coercion in C++ Nix is to weakly coerce\nand import to store if necessary. There is a flag to make it strongly\ncoerce (coerceMore) and a flag that controls whether path values have\nthe corresponding file/directory imported into the store before\nreturning the (store) path as a string (copyToStore). We need to\nimplement our equivalent to the copyToStore (import_paths) flag for the\nbenefit of weak coercions that don\u0027t import into the store (dirOf,\nbaseNameOf, readFile, ...) and strong coercions that don\u0027t import into\nthe store (toString).\n\nThis makes coerce_to_string as well as CoercionKind weirder and more\nversatile, but prevents us from reimplementing parts of the coercion\nlogic constantly as can be seen in the case of baseNameOf.\n\nNote that it is not possible to test this properly in //tvix/eval tests\ndue to the lack of an appropriate EvalIO implementation being available.\nTests should be added to //tvix/glue down the line.\n\nChange-Id: I8fb8ab99c7fe08e311d2ba1c36960746bf22f566\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d0cfc64c2e2617443f21077f72bca4765fe59be7c"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d0cfc64c2e2617443f21077f72bca4765fe59be7c"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"ab310c0a2a4ec095fe910bf5d927e78f88696bce","is_merged_in_target_branch":false,"change_id":"I8059930788f9c8d98baf98e3d93d8a060ef961f2","change_number":10360,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"f124487490be6027083113a2634a6b71a6680fa9":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2023-12-14 13:10:41.000000000","uploader":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"ref":"refs/changes/61/10361/5","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/61/10361/5","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/61/10361/5"}}},"commit":{"parents":[{"commit":"a30dd0905a08a78bb0573136064dd334a0567f6a","subject":"fix(tvix/eval): determine meaning of `+` exprs based on first type","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003da30dd0905a08a78bb0573136064dd334a0567f6a"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-13 13:52:07.000000000","tz":60},"committer":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-14 13:10:36.000000000","tz":60},"subject":"fix(tvix/eval): remove incorrect imports when coercing","message":"fix(tvix/eval): remove incorrect imports when coercing\n\nThe default behavior of string coercion in C++ Nix is to weakly coerce\nand import to store if necessary. There is a flag to make it strongly\ncoerce (coerceMore) and a flag that controls whether path values have\nthe corresponding file/directory imported into the store before\nreturning the (store) path as a string (copyToStore). We need to\nimplement our equivalent to the copyToStore (import_paths) flag for the\nbenefit of weak coercions that don\u0027t import into the store (dirOf,\nbaseNameOf, readFile, ...) and strong coercions that don\u0027t import into\nthe store (toString).\n\nThis makes coerce_to_string as well as CoercionKind weirder and more\nversatile, but prevents us from reimplementing parts of the coercion\nlogic constantly as can be seen in the case of baseNameOf.\n\nNote that it is not possible to test this properly in //tvix/eval tests\ndue to the lack of an appropriate EvalIO implementation being available.\nTests should be added to //tvix/glue down the line.\n\nChange-Id: I8fb8ab99c7fe08e311d2ba1c36960746bf22f566\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003df124487490be6027083113a2634a6b71a6680fa9"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003df124487490be6027083113a2634a6b71a6680fa9"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"a30dd0905a08a78bb0573136064dd334a0567f6a","is_merged_in_target_branch":true,"change_id":"I8059930788f9c8d98baf98e3d93d8a060ef961f2","change_number":10360,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/canon"},"7165ebc43bfb1b53929fb31673c512bbbdbe4096":{"kind":"NO_CODE_CHANGE","_number":6,"created":"2023-12-14 13:15:23.000000000","uploader":{"_account_id":1000015,"name":"clbot","email":"clbot@tvl.fyi","username":"clbot","tags":["SERVICE_USER"]},"ref":"refs/changes/61/10361/6","fetch":{"anonymous http":{"url":"https://cl.tvl.fyi/depot","ref":"refs/changes/61/10361/6","commands":{"Checkout":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.tvl.fyi/depot refs/changes/61/10361/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.tvl.fyi/depot refs/changes/61/10361/6"}}},"commit":{"parents":[{"commit":"a30dd0905a08a78bb0573136064dd334a0567f6a","subject":"fix(tvix/eval): determine meaning of `+` exprs based on first type","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003da30dd0905a08a78bb0573136064dd334a0567f6a"}]}],"author":{"name":"sterni","email":"sternenseemann@systemli.org","date":"2023-12-13 13:52:07.000000000","tz":60},"committer":{"name":"clbot","email":"clbot@tvl.fyi","date":"2023-12-14 13:15:23.000000000","tz":0},"subject":"fix(tvix/eval): remove incorrect imports when coercing","message":"fix(tvix/eval): remove incorrect imports when coercing\n\nThe default behavior of string coercion in C++ Nix is to weakly coerce\nand import to store if necessary. There is a flag to make it strongly\ncoerce (coerceMore) and a flag that controls whether path values have\nthe corresponding file/directory imported into the store before\nreturning the (store) path as a string (copyToStore). We need to\nimplement our equivalent to the copyToStore (import_paths) flag for the\nbenefit of weak coercions that don\u0027t import into the store (dirOf,\nbaseNameOf, readFile, ...) and strong coercions that don\u0027t import into\nthe store (toString).\n\nThis makes coerce_to_string as well as CoercionKind weirder and more\nversatile, but prevents us from reimplementing parts of the coercion\nlogic constantly as can be seen in the case of baseNameOf.\n\nNote that it is not possible to test this properly in //tvix/eval tests\ndue to the lack of an appropriate EvalIO implementation being available.\nTests should be added to //tvix/glue down the line.\n\nChange-Id: I8fb8ab99c7fe08e311d2ba1c36960746bf22f566\nReviewed-on: https://cl.tvl.fyi/c/depot/+/10361\nAutosubmit: sterni \u003csternenseemann@systemli.org\u003e\nTested-by: BuildkiteCI\nReviewed-by: Adam Joseph \u003cadam@westernsemico.com\u003e\n","web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d7165ebc43bfb1b53929fb31673c512bbbdbe4096"}],"resolve_conflicts_web_links":[{"name":"cgit","tooltip":"Open in GitWeb","url":"https://code.tvl.fyi/commit/?id\u003d7165ebc43bfb1b53929fb31673c512bbbdbe4096"}]},"parents_data":[{"branch_name":"refs/heads/canon","commit_id":"a30dd0905a08a78bb0573136064dd334a0567f6a","is_merged_in_target_branch":true,"change_id":"I8059930788f9c8d98baf98e3d93d8a060ef961f2","change_number":10360,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/canon"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~PrologRule","status":"CLOSED","labels":[{"label":"Autosubmit","status":"MAY"},{"label":"Conformant-Commit-Message","status":"OK","applied_by":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"}},{"label":"All-Comments-Resolved","status":"OK","applied_by":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"}},{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"BuildkiteCI","username":"buildkite","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":1000066,"name":"Adam Joseph","display_name":"amjoseph","email":"adam@westernsemico.com","username":"amjoseph"}}]},{"rule_name":"Code-Owners","status":"CLOSED"}],"submit_requirements":[{"name":"All-Comments-Resolved","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:All-Comments-Resolved\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:All-Comments-Resolved\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Code-Owners","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"rule:Code-Owners","fulfilled":true,"status":"PASS","passing_atoms":["Code-Owners"],"failing_atoms":[]}},{"name":"Conformant-Commit-Message","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Conformant-Commit-Message\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Conformant-Commit-Message\u003dgerrit~PrologRule"],"failing_atoms":[]}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dgerrit~PrologRule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dgerrit~PrologRule"],"failing_atoms":[]}}]}
