fake.modules transposition for aspect-oriented Dendritic Nix. with cross-aspect dependencies. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/ dendrix.oeiuwq.com/Dendritic.html
dendritic nix aspect oriented

test including other aspect functor

+42
+42
checkmate.nix
··· 394 { 395 inherit expr expected; 396 }; 397 }; 398 399 };
··· 394 { 395 inherit expr expected; 396 }; 397 + 398 + aspects."test override default provider includes" = 399 + let 400 + flake = mkFlake { 401 + flake.aspects = 402 + { aspects, ... }: 403 + { 404 + aspectOne = 405 + { aspect, ... }: 406 + { 407 + classOne.bar = [ "should-not-be-present" ]; 408 + includes = [ aspects.aspectTwo ]; 409 + __functor = 410 + _: 411 + # deadnix: skip 412 + { class, aspect-chain }: 413 + { 414 + includes = [ 415 + { classOne.bar = [ "from-functor" ]; } 416 + ] ++ map (f: f { message = "hello"; }) aspect.includes; 417 + }; 418 + }; 419 + aspectTwo.__functor = 420 + _: 421 + { message }: 422 + # deadnix: skip 423 + { class, aspect-chain }: 424 + { 425 + classOne.bar = [ message ]; 426 + }; 427 + }; 428 + }; 429 + 430 + expr = (evalMod "classOne" flake.modules.classOne.aspectOne).bar; 431 + expected = [ 432 + "hello" 433 + "from-functor" 434 + ]; 435 + in 436 + { 437 + inherit expr expected; 438 + }; 439 }; 440 441 };