Ok, this was silly. I figured it out. I only incremented callDepth
for nested attributes sets, but not for nested lists... The example had rec { foo = [foo]; }
so it's nesting attrset -> list…
I've just tried it with a low hard coded callDepth
boundary of 10
:
// Limit the nesting level depth when comparing attribute sets to avoid infinite recursion.
if (callDepth >…
I'm happy to pick up the task of fixing the field initializer warnings. I already handled a bunch of them in [this commit](https://git.lix.systems/lix-project/lix/commit/43e79f443469c55ef4d3a43ce1e…
Another question is whether I should check the boundary at the beginning of the function or right before the recursive call.
I think that performance-wise, it would be better to make the check…
Good idea! :) I'm all for it. I'll add a parameter with a default value of 0 for the external callers.
It's probably still good to have an evalSettings.maxAttrEqDepth
for setting the…
I read through the code that was mentioned by @jade and found this Nix PR and this CL.
I would like to share…
For context, this was suggested by @jade as a way to allow using numeric literals with the suffix uz
without getting a warning in a comment to this change: https://gerrit.lix.systems/c/lix/+/2045.
https://gerrit.lix.systems/c/lix/+/2045
Yes, I acknowledge that this is defensive, but it doesn't do any harm, so why not.
I think it's good to have a test for the EndOfFile
exception anyway.
Oh, this is what you meant by early return...
There's already a test called exceptionAbortsDownload
. I can add one for exceptionAbortsRead
to show that an EOF exception is also thrown with…
I made the following test to serve a 0 byte file and try to read it:
TEST(FileTransfer, nullPointer)
{
auto [port, srv] = serveHTTP("200 ok", "content-length: 0\r\n", [&] { return…
Yes, this is what I had in mind. I'll try it and let's see what happens.
I had to disable the feature gc
in order to add b_sanitize=address,undefined
(otherwise I got an error saying "gc does far too many memory crimes for ASan"), like this:
just setup…
When I run either nix
or lix
with:
nix eval --expr 'let a = rec { foo = [foo]; }; b = rec { foo = [foo]; }; in a == b'
or do the same in nix repl
, I get:
error: stack…
Hi @pennae! 😄
I would like to look into it. Could you please specify which test is causing this runtime error and how I can reproduce it locally?
Just from taking a cursory look in…
I have created 2 changes:
Both of them get a "❌ Verified -1" and then under "Checks" I see:
Error…