mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-25 15:26:17 +02:00
Merge pull request #9926 from 9999years/fix-cycle-detection-in-nix-repl
Fix cycle detection in `nix repl`
This commit is contained in:
commit
e190c20c33
2 changed files with 4 additions and 4 deletions
|
@ -152,7 +152,7 @@ struct ImportantFirstAttrNameCmp
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef std::set<Value *> ValuesSeen;
|
typedef std::set<const void *> ValuesSeen;
|
||||||
|
|
||||||
class Printer
|
class Printer
|
||||||
{
|
{
|
||||||
|
@ -262,7 +262,7 @@ private:
|
||||||
|
|
||||||
void printAttrs(Value & v, size_t depth)
|
void printAttrs(Value & v, size_t depth)
|
||||||
{
|
{
|
||||||
if (seen && !seen->insert(&v).second) {
|
if (seen && !seen->insert(v.attrs).second) {
|
||||||
printRepeated();
|
printRepeated();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,7 +156,7 @@ testReplResponseNoRegex '
|
||||||
# Same for let expressions
|
# Same for let expressions
|
||||||
testReplResponseNoRegex '
|
testReplResponseNoRegex '
|
||||||
let x = { y = { a = 1; }; inherit x; }; in x
|
let x = { y = { a = 1; }; inherit x; }; in x
|
||||||
' '{ x = { ... }; y = { ... }; }'
|
' '{ x = «repeated»; y = { ... }; }'
|
||||||
|
|
||||||
# The :p command should recursively print sets, but prevent infinite recursion
|
# The :p command should recursively print sets, but prevent infinite recursion
|
||||||
testReplResponseNoRegex '
|
testReplResponseNoRegex '
|
||||||
|
@ -171,4 +171,4 @@ testReplResponseNoRegex '
|
||||||
# Same for let expressions
|
# Same for let expressions
|
||||||
testReplResponseNoRegex '
|
testReplResponseNoRegex '
|
||||||
:p let x = { y = { a = 1; }; inherit x; }; in x
|
:p let x = { y = { a = 1; }; inherit x; }; in x
|
||||||
' '{ x = { x = «repeated»; y = { a = 1; }; }; y = «repeated»; }'
|
' '{ x = «repeated»; y = { a = 1; }; }'
|
||||||
|
|
Loading…
Reference in a new issue