| 19 Mar 2026 |
raitobezarius | https://git.lix.systems/lix-project/lix/issues/980#issue-14093 it's known for the past 6 months | 09:08:57 |
raitobezarius | with no resolution yet | 09:08:59 |
raitobezarius | we are planning to delete these instructions | 09:09:04 |
Lisanna | is there a process for cloning a cppnix issue into the lix issue tracker? or does it happen automatically | 20:17:19 |
raitobezarius | there's no automation of the sort as we have diverged quite | 20:24:39 |
raitobezarius | so we usually want people to open their own issues they encountered on lix | 20:24:53 |
raitobezarius | (mentions of cppnix sharing the same issue are welcome but are not super useful these days imho except if it's certain by the reporter there's a shared subsystem there) | 20:25:10 |
sky1e | I noticed when hacking on lix's JSON parser that it silently accepts duplicate json object keys, throwing away all but the last one. Is this known and desired behavior? I tried making it crash instead and it seemed to still pass all of the tests, so this behavior isn't being tested for.
nix eval --expr 'builtins.fromJSON '"''"'{"a":"a","a":"b"}'"''"
{ a = "b"; }
| 23:17:47 |
| * piegames sighs | 23:38:57 |
piegames | This language truly is a gift | 23:39:07 |
sky1e | Shall I file an issue then? | 23:39:42 |
Sergei Zimmerman (xokdvium) | In reply to @piegames:flausch.social This language truly is a gift I wouldn’t be surprised if that changed from 2.3 when nlohmann was introduced | 23:47:32 |
piegames | In reply to @sky1e:mildlyfunctional.gay Shall I file an issue then? Yes please | 23:47:55 |
raitobezarius | In reply to @sky1e:mildlyfunctional.gay Shall I file an issue then? Please do so | 23:48:25 |
| 20 Mar 2026 |
sky1e | https://git.lix.systems/lix-project/lix/issues/1162 | 00:10:00 |
thubrecht | Looking at the previous json parser, it also silently ignored duplicates and kept only the last value | 09:01:28 |
thubrecht | https://github.com/NixOS/nix/blob/0baf7dc25e0a5fcd25dcd9d9cb737c682d01e4e7/src/libexpr/json-to-value.cc#L69-L92 | 09:01:59 |
delroth | https://www.rfc-editor.org/rfc/rfc8259#section-4 "The names within an object SHOULD be unique." not "MUST", so a parser should support duplicate keys anyway | 09:26:35 |
delroth | though the RFC also says "lol it's unpredictable what parsers will do and some throw errors" | 09:26:59 |
delroth | what a great RFC | 09:27:04 |
raitobezarius | i want to cry | 09:29:59 |
K900 | But JSON fits on a business card! | 09:30:31 |
K900 | Or something | 09:31:25 |
delroth | the business card: "100 microsd cards taped to each other" | 09:31:36 |
thubrecht | That "standard" also says
This specification allows implementations to set limits on the range and precision of numbers accepted
| 09:36:04 |
raitobezarius | 8 bits integers | 09:39:30 |
raitobezarius | max | 09:39:31 |
KFears& 🏳️⚧️ (they/them) | https://seriot.ch/software/parsing_json.html | 09:42:26 |
KFears& 🏳️⚧️ (they/them) | This is a very good overview of the JSON ambiguities and which parsers choose which behavior | 09:42:44 |
KFears& 🏳️⚧️ (they/them) | Highly recommend for deciding which behavior is preferred | 09:42:54 |