From cc2fb20ca03ca0cd30c0d9c768ead9b8cb7130f9 Mon Sep 17 00:00:00 2001 From: Stephen Dolan Date: Sun, 16 Sep 2012 11:07:36 +0100 Subject: [PATCH] Hrm. Update operators (//=, +=, etc.) aren't very well thought out. In complex cases, their behaviour is kinda weird. Here's a failing test for what I think they should do. --- c/testdata | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/c/testdata b/c/testdata index e17f2bb..a905d2a 100644 --- a/c/testdata +++ b/c/testdata @@ -312,9 +312,10 @@ def inc(x): x |= .+1; inc(.[].a) [{"foo":[1,2], "bar": 42}, {"foo":[1], "bar": null}, {"foo":[null,false,3], "bar": 18}, {"foo":[], "bar":42}, {"foo": [null,false,null], "bar": 41}] [[1,2], [1], [3], [42], [41]] -.[] //= 42 -["hello",true,false,[false],null] -["hello",true,42,[false],42] +# FIXME: behaviour of update operators +# .[] //= .[0] +# ["hello",true,false,[false],null] +# ["hello",true,"hello",[false],"hello"] .[] | [.[0] and .[1], .[0] or .[1]] [[true,[]], [false,1], [42,null], [null,false]] -- 2.40.0