forked from lix-project/lix
a704123ea1
desugaring inherit-from to syntactic duplication of the source expr also duplicates side effects of the source expr (such as trace calls) and expensive computations (such as derivationStrict).
17 lines
277 B
Nix
17 lines
277 B
Nix
let
|
|
inherit (builtins.trace "used" { a = 1; b = 2; }) a b;
|
|
x.c = 3;
|
|
y.d = 4;
|
|
|
|
merged = {
|
|
inner = {
|
|
inherit (y) d;
|
|
};
|
|
|
|
inner = {
|
|
inherit (x) c;
|
|
};
|
|
};
|
|
in
|
|
[ a b rec { x.c = []; inherit (x) c; inherit (y) d; __overrides.y.d = []; } merged ]
|