witty-crayon-22786
07/02/2018, 11:25 PMwitty-crayon-22786
07/02/2018, 11:26 PMGraph::create
creates a root in the graph: it assigns an EntryId
for the node, and then runs itwitty-crayon-22786
07/02/2018, 11:26 PMGraph::get
is used by nodes to request their dependencieswitty-crayon-22786
07/02/2018, 11:27 PMContext::get
)witty-crayon-22786
07/02/2018, 11:27 PMget
creates an edge between one node and a dependency, creating the dependency if it doesn't existwitty-crayon-22786
07/02/2018, 11:27 PMcreate
just creates a noderough-minister-58256
07/02/2018, 11:27 PMwitty-crayon-22786
07/02/2018, 11:28 PMwitty-crayon-22786
07/02/2018, 11:29 PM@console_rule
i see two options: 1) don't actually create a Node in the Graph for it at all, and instead run it with a Context
that uses Graph::create
(rather than get
) to get dependencieswitty-crayon-22786
07/02/2018, 11:30 PM@console_rule
, but would cache the things it depends onwitty-crayon-22786
07/02/2018, 11:30 PMwitty-crayon-22786
07/02/2018, 11:32 PM@console_rule
, but add explicit support to Graph
for not recording a value for a Nodewitty-crayon-22786
07/02/2018, 11:33 PMFuture
on Entry for that node type"witty-crayon-22786
07/02/2018, 11:33 PMwitty-crayon-22786
07/02/2018, 11:34 PMwitty-crayon-22786
07/02/2018, 11:36 PMwitty-crayon-22786
07/02/2018, 11:36 PMtrait Node
that is approximately fn memoize(&self) -> bool
witty-crayon-22786
07/02/2018, 11:37 PMgraph/src/lib.rs
Entry::get
, if !memoize
, don't ever actually store a Future for the Node.witty-crayon-22786
07/02/2018, 11:39 PMrough-minister-58256
07/02/2018, 11:45 PMrough-minister-58256
07/03/2018, 1:44 AMrough-minister-58256
07/03/2018, 1:45 AMwitty-crayon-22786
07/03/2018, 1:48 AMrough-minister-58256
07/03/2018, 1:48 AMwitty-crayon-22786
07/03/2018, 1:49 AMrough-minister-58256
07/03/2018, 1:49 AMwitty-crayon-22786
07/03/2018, 2:27 AMwitty-crayon-22786
07/03/2018, 2:28 AMNode
runs, everything above it must be considered dirty according to the definition on 6059)rough-minister-58256
07/03/2018, 2:31 AMaverage-vr-56795
07/03/2018, 11:47 PMgeneration
Generations?
2. Should we re-use Errors across Generations
Has it changed noticeably since I reviewed it, other than rebasing?
Also, is the invalidate_randomly
comment you left a “the code is broken” comment, or a “the test is broken” comment?