Files
dagx/mutants.out/mutants.json
T
swaits 5839b35979 test: add comprehensive testing infrastructure (fuzzing, proptest, mutation)
Implements dagx-11: Add comprehensive testing infrastructure including
fuzzing, property-based testing, and mutation testing configuration.

**Fuzzing Infrastructure:**
- Created fuzz/ directory with cargo-fuzz setup
- 4 fuzz targets covering different scenarios:
  - fuzz_dag_execution: Basic DAG execution with various patterns
  - fuzz_dependencies: Dependency management (linear, diamond, complex)
  - fuzz_type_safety: Type-safe output retrieval
  - fuzz_concurrent: Concurrent execution and thread safety
- Comprehensive README with usage instructions
- Integrated with justfile (fuzz, fuzz-all, fuzz-extended, fuzz-build)

**Property-Based Testing:**
- Added proptest dependency to Cargo.toml
- Created tests/property_tests.rs with 14 property tests:
  - Value preservation through DAG
  - Linear chain correctness
  - Fan-out pattern verification
  - Diamond pattern correctness
  - String, Vec, Option, Result handling
  - HashMap and custom struct preservation
  - DAG isolation
  - Concurrent execution scaling
- Integrated with justfile (proptest recipe)

**Mutation Testing:**
- Created .cargo-mutants.toml configuration
- Focused on critical functions:
  - DagRunner::run and ::get
  - TaskBuilder::depends_on
  - ExecutableNode::execute_with_listeners
  - ExtractFromListeners::extract
  - DepsTuple::to_node_ids
- Excluded low-value mutations (fmt, clone, default)
- Configured for nextest and parallel execution
- Already integrated via existing justfile mutants recipe

**Justfile Updates:**
- Added fuzzing section with 5 new recipes
- Added proptest recipe for property-based tests
- All recipes follow existing patterns and naming conventions

Similar setup to ../announcement project but tailored for DAG-specific testing.
2025-10-14 10:44:30 -06:00

2282 lines
44 KiB
JSON

[
{
"package": "dagx",
"file": "src/builder.rs",
"function": {
"function_name": "TaskBuilder<'a, Tk, Deps>::depends_on",
"return_type": "-> TaskHandle<Tk::Output>",
"span": {
"start": {
"line": 79,
"column": 5
},
"end": {
"line": 165,
"column": 6
}
}
},
"span": {
"start": {
"line": 136,
"column": 9
},
"end": {
"line": 164,
"column": 10
}
},
"replacement": "TaskHandle::new()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/builder.rs",
"function": {
"function_name": "TaskBuilder<'a, Tk, Deps>::depends_on",
"return_type": "-> TaskHandle<Tk::Output>",
"span": {
"start": {
"line": 79,
"column": 5
},
"end": {
"line": 165,
"column": 6
}
}
},
"span": {
"start": {
"line": 136,
"column": 9
},
"end": {
"line": 164,
"column": 10
}
},
"replacement": "TaskHandle::from_iter([Default::default()])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/builder.rs",
"function": {
"function_name": "TaskBuilder<'a, Tk, Deps>::depends_on",
"return_type": "-> TaskHandle<Tk::Output>",
"span": {
"start": {
"line": 79,
"column": 5
},
"end": {
"line": 165,
"column": 6
}
}
},
"span": {
"start": {
"line": 136,
"column": 9
},
"end": {
"line": 164,
"column": 10
}
},
"replacement": "TaskHandle::new(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/builder.rs",
"function": {
"function_name": "TaskBuilder<'a, Tk, Deps>::depends_on",
"return_type": "-> TaskHandle<Tk::Output>",
"span": {
"start": {
"line": 79,
"column": 5
},
"end": {
"line": 165,
"column": 6
}
}
},
"span": {
"start": {
"line": 136,
"column": 9
},
"end": {
"line": 164,
"column": 10
}
},
"replacement": "TaskHandle::from(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<()> for ()>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 20,
"column": 5
},
"end": {
"line": 22,
"column": 6
}
}
},
"span": {
"start": {
"line": 21,
"column": 9
},
"end": {
"line": 21,
"column": 19
}
},
"replacement": "vec![]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<()> for ()>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 20,
"column": 5
},
"end": {
"line": 22,
"column": 6
}
}
},
"span": {
"start": {
"line": 21,
"column": 9
},
"end": {
"line": 21,
"column": 19
}
},
"replacement": "vec![Default::default()]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<T> for &TaskHandle<T>>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 27,
"column": 5
},
"end": {
"line": 29,
"column": 6
}
}
},
"span": {
"start": {
"line": 28,
"column": 9
},
"end": {
"line": 28,
"column": 22
}
},
"replacement": "vec![]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<T> for &TaskHandle<T>>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 27,
"column": 5
},
"end": {
"line": 29,
"column": 6
}
}
},
"span": {
"start": {
"line": 28,
"column": 9
},
"end": {
"line": 28,
"column": 22
}
},
"replacement": "vec![Default::default()]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<T> for TaskHandle<T>>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 33,
"column": 5
},
"end": {
"line": 35,
"column": 6
}
}
},
"span": {
"start": {
"line": 34,
"column": 9
},
"end": {
"line": 34,
"column": 22
}
},
"replacement": "vec![]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<T> for TaskHandle<T>>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 33,
"column": 5
},
"end": {
"line": 35,
"column": 6
}
}
},
"span": {
"start": {
"line": 34,
"column": 9
},
"end": {
"line": 34,
"column": 22
}
},
"replacement": "vec![Default::default()]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<T> for (&TaskHandle<T>,)>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 39,
"column": 5
},
"end": {
"line": 41,
"column": 6
}
}
},
"span": {
"start": {
"line": 40,
"column": 9
},
"end": {
"line": 40,
"column": 24
}
},
"replacement": "vec![]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<T> for (&TaskHandle<T>,)>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 39,
"column": 5
},
"end": {
"line": 41,
"column": 6
}
}
},
"span": {
"start": {
"line": 40,
"column": 9
},
"end": {
"line": 40,
"column": 24
}
},
"replacement": "vec![Default::default()]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<T> for (TaskHandle<T>,)>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 45,
"column": 5
},
"end": {
"line": 47,
"column": 6
}
}
},
"span": {
"start": {
"line": 46,
"column": 9
},
"end": {
"line": 46,
"column": 24
}
},
"replacement": "vec![]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<T> for (TaskHandle<T>,)>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 45,
"column": 5
},
"end": {
"line": 47,
"column": 6
}
}
},
"span": {
"start": {
"line": 46,
"column": 9
},
"end": {
"line": 46,
"column": 24
}
},
"replacement": "vec![Default::default()]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<Tk::Output> for &TaskBuilder<'a, Tk, Deps>>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 52,
"column": 5
},
"end": {
"line": 54,
"column": 6
}
}
},
"span": {
"start": {
"line": 53,
"column": 9
},
"end": {
"line": 53,
"column": 22
}
},
"replacement": "vec![]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<Tk::Output> for &TaskBuilder<'a, Tk, Deps>>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 52,
"column": 5
},
"end": {
"line": 54,
"column": 6
}
}
},
"span": {
"start": {
"line": 53,
"column": 9
},
"end": {
"line": 53,
"column": 22
}
},
"replacement": "vec![Default::default()]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<Tk::Output> for (&TaskBuilder<'a, Tk, Deps>,)>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 58,
"column": 5
},
"end": {
"line": 60,
"column": 6
}
}
},
"span": {
"start": {
"line": 59,
"column": 9
},
"end": {
"line": 59,
"column": 24
}
},
"replacement": "vec![]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/deps.rs",
"function": {
"function_name": "<impl DepsTuple<Tk::Output> for (&TaskBuilder<'a, Tk, Deps>,)>::to_node_ids",
"return_type": "-> Vec<NodeId>",
"span": {
"start": {
"line": 58,
"column": 5
},
"end": {
"line": 60,
"column": 6
}
}
},
"span": {
"start": {
"line": 59,
"column": 9
},
"end": {
"line": 59,
"column": 24
}
},
"replacement": "vec![Default::default()]",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/error.rs",
"function": {
"function_name": "<impl std::fmt::Display for DagError>::fmt",
"return_type": "-> std::fmt::Result",
"span": {
"start": {
"line": 27,
"column": 5
},
"end": {
"line": 79,
"column": 6
}
}
},
"span": {
"start": {
"line": 28,
"column": 9
},
"end": {
"line": 78,
"column": 10
}
},
"replacement": "Ok(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/node.rs",
"function": {
"function_name": "<impl ExecutableNode for TypedNode<T>>::create_announcement",
"return_type": "-> (Box<dyn Any +Send>, Box<dyn Any +Send>)",
"span": {
"start": {
"line": 100,
"column": 5
},
"end": {
"line": 102,
"column": 6
}
}
},
"span": {
"start": {
"line": 101,
"column": 9
},
"end": {
"line": 101,
"column": 40
}
},
"replacement": "(Box::new(Default::default()), Box::new(Default::default()))",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/node.rs",
"function": {
"function_name": "<impl ExecutableNode for TypedNode<T>>::create_listener",
"return_type": "-> Box<dyn Any +Send>",
"span": {
"start": {
"line": 104,
"column": 5
},
"end": {
"line": 106,
"column": 6
}
}
},
"span": {
"start": {
"line": 105,
"column": 9
},
"end": {
"line": 105,
"column": 48
}
},
"replacement": "Box::new(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/node.rs",
"function": {
"function_name": "<impl ExecutableNode for TypedNode<T>>::execute_with_listeners",
"return_type": "-> ExecuteFuture",
"span": {
"start": {
"line": 108,
"column": 5
},
"end": {
"line": 127,
"column": 6
}
}
},
"span": {
"start": {
"line": 113,
"column": 9
},
"end": {
"line": 126,
"column": 11
}
},
"replacement": "Default::default()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "<impl Drop for RunGuard<'a>>::drop",
"return_type": "",
"span": {
"start": {
"line": 34,
"column": 5
},
"end": {
"line": 36,
"column": 6
}
}
},
"span": {
"start": {
"line": 35,
"column": 9
},
"end": {
"line": 35,
"column": 50
}
},
"replacement": "()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::alloc_id",
"return_type": "-> NodeId",
"span": {
"start": {
"line": 132,
"column": 5
},
"end": {
"line": 137,
"column": 6
}
}
},
"span": {
"start": {
"line": 133,
"column": 9
},
"end": {
"line": 136,
"column": 11
}
},
"replacement": "Default::default()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::alloc_id",
"return_type": "-> NodeId",
"span": {
"start": {
"line": 132,
"column": 5
},
"end": {
"line": 137,
"column": 6
}
}
},
"span": {
"start": {
"line": 135,
"column": 18
},
"end": {
"line": 135,
"column": 20
}
},
"replacement": "-=",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::alloc_id",
"return_type": "-> NodeId",
"span": {
"start": {
"line": 132,
"column": 5
},
"end": {
"line": 137,
"column": 6
}
}
},
"span": {
"start": {
"line": 135,
"column": 18
},
"end": {
"line": 135,
"column": 20
}
},
"replacement": "*=",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::add_task",
"return_type": "-> TaskBuilder<'_, Tk, Pending>",
"span": {
"start": {
"line": 139,
"column": 5
},
"end": {
"line": 217,
"column": 6
}
}
},
"span": {
"start": {
"line": 198,
"column": 9
},
"end": {
"line": 216,
"column": 10
}
},
"replacement": "Default::default()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::run",
"return_type": "-> DagResult<()>",
"span": {
"start": {
"line": 219,
"column": 5
},
"end": {
"line": 544,
"column": 6
}
}
},
"span": {
"start": {
"line": 288,
"column": 9
},
"end": {
"line": 543,
"column": 15
}
},
"replacement": "DagResult::new()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::run",
"return_type": "-> DagResult<()>",
"span": {
"start": {
"line": 219,
"column": 5
},
"end": {
"line": 544,
"column": 6
}
}
},
"span": {
"start": {
"line": 288,
"column": 9
},
"end": {
"line": 543,
"column": 15
}
},
"replacement": "DagResult::from_iter([()])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::run",
"return_type": "-> DagResult<()>",
"span": {
"start": {
"line": 219,
"column": 5
},
"end": {
"line": 544,
"column": 6
}
}
},
"span": {
"start": {
"line": 288,
"column": 9
},
"end": {
"line": 543,
"column": 15
}
},
"replacement": "DagResult::new(())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::run",
"return_type": "-> DagResult<()>",
"span": {
"start": {
"line": 219,
"column": 5
},
"end": {
"line": 544,
"column": 6
}
}
},
"span": {
"start": {
"line": 288,
"column": 9
},
"end": {
"line": 543,
"column": 15
}
},
"replacement": "DagResult::from(())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::run",
"return_type": "-> DagResult<()>",
"span": {
"start": {
"line": 219,
"column": 5
},
"end": {
"line": 544,
"column": 6
}
}
},
"span": {
"start": {
"line": 395,
"column": 28
},
"end": {
"line": 395,
"column": 30
}
},
"replacement": "!=",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::run",
"return_type": "-> DagResult<()>",
"span": {
"start": {
"line": 219,
"column": 5
},
"end": {
"line": 544,
"column": 6
}
}
},
"span": {
"start": {
"line": 521,
"column": 27
},
"end": {
"line": 521,
"column": 48
}
},
"replacement": "true",
"genre": "MatchArmGuard"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::run",
"return_type": "-> DagResult<()>",
"span": {
"start": {
"line": 219,
"column": 5
},
"end": {
"line": 544,
"column": 6
}
}
},
"span": {
"start": {
"line": 521,
"column": 27
},
"end": {
"line": 521,
"column": 48
}
},
"replacement": "false",
"genre": "MatchArmGuard"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::get",
"return_type": "-> DagResult<T>",
"span": {
"start": {
"line": 546,
"column": 5
},
"end": {
"line": 608,
"column": 6
}
}
},
"span": {
"start": {
"line": 592,
"column": 9
},
"end": {
"line": 607,
"column": 15
}
},
"replacement": "DagResult::new()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::get",
"return_type": "-> DagResult<T>",
"span": {
"start": {
"line": 546,
"column": 5
},
"end": {
"line": 608,
"column": 6
}
}
},
"span": {
"start": {
"line": 592,
"column": 9
},
"end": {
"line": 607,
"column": 15
}
},
"replacement": "DagResult::from_iter([Default::default()])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::get",
"return_type": "-> DagResult<T>",
"span": {
"start": {
"line": 546,
"column": 5
},
"end": {
"line": 608,
"column": 6
}
}
},
"span": {
"start": {
"line": 592,
"column": 9
},
"end": {
"line": 607,
"column": 15
}
},
"replacement": "DagResult::new(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::get",
"return_type": "-> DagResult<T>",
"span": {
"start": {
"line": 546,
"column": 5
},
"end": {
"line": 608,
"column": 6
}
}
},
"span": {
"start": {
"line": 592,
"column": 9
},
"end": {
"line": 607,
"column": 15
}
},
"replacement": "DagResult::from(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 612,
"column": 9
},
"end": {
"line": 695,
"column": 19
}
},
"replacement": "DagResult::new()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 612,
"column": 9
},
"end": {
"line": 695,
"column": 19
}
},
"replacement": "DagResult::from_iter([vec![]])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 612,
"column": 9
},
"end": {
"line": 695,
"column": 19
}
},
"replacement": "DagResult::new(vec![])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 612,
"column": 9
},
"end": {
"line": 695,
"column": 19
}
},
"replacement": "DagResult::from(vec![])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 612,
"column": 9
},
"end": {
"line": 695,
"column": 19
}
},
"replacement": "DagResult::from_iter([vec![vec![]]])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 612,
"column": 9
},
"end": {
"line": 695,
"column": 19
}
},
"replacement": "DagResult::new(vec![vec![]])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 612,
"column": 9
},
"end": {
"line": 695,
"column": 19
}
},
"replacement": "DagResult::from(vec![vec![]])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 612,
"column": 9
},
"end": {
"line": 695,
"column": 19
}
},
"replacement": "DagResult::from_iter([vec![vec![Default::default()]]])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 612,
"column": 9
},
"end": {
"line": 695,
"column": 19
}
},
"replacement": "DagResult::new(vec![vec![Default::default()]])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 612,
"column": 9
},
"end": {
"line": 695,
"column": 19
}
},
"replacement": "DagResult::from(vec![vec![Default::default()]])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 635,
"column": 38
},
"end": {
"line": 635,
"column": 40
}
},
"replacement": "!=",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 641,
"column": 15
},
"end": {
"line": 641,
"column": 16
}
},
"replacement": "",
"genre": "UnaryOperator"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 659,
"column": 41
},
"end": {
"line": 659,
"column": 43
}
},
"replacement": "+=",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 659,
"column": 41
},
"end": {
"line": 659,
"column": 43
}
},
"replacement": "/=",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 660,
"column": 44
},
"end": {
"line": 660,
"column": 46
}
},
"replacement": "!=",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/runner.rs",
"function": {
"function_name": "DagRunner::compute_layers",
"return_type": "-> DagResult<Vec<Vec<NodeId>>>",
"span": {
"start": {
"line": 610,
"column": 5
},
"end": {
"line": 696,
"column": 6
}
}
},
"span": {
"start": {
"line": 670,
"column": 16
},
"end": {
"line": 670,
"column": 17
}
},
"replacement": "",
"genre": "UnaryOperator"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for ()>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 19,
"column": 5
},
"end": {
"line": 21,
"column": 6
}
}
},
"span": {
"start": {
"line": 20,
"column": 9
},
"end": {
"line": 20,
"column": 15
}
},
"replacement": "Ok(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for std::sync::Arc<Result<T, E>>>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 53,
"column": 5
},
"end": {
"line": 62,
"column": 6
}
}
},
"span": {
"start": {
"line": 54,
"column": 9
},
"end": {
"line": 61,
"column": 98
}
},
"replacement": "Ok(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for std::sync::Arc<Result<T, E>>>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 53,
"column": 5
},
"end": {
"line": 62,
"column": 6
}
}
},
"span": {
"start": {
"line": 54,
"column": 28
},
"end": {
"line": 54,
"column": 30
}
},
"replacement": "==",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for std::sync::Arc<Option<T>>>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 70,
"column": 5
},
"end": {
"line": 79,
"column": 6
}
}
},
"span": {
"start": {
"line": 71,
"column": 9
},
"end": {
"line": 78,
"column": 98
}
},
"replacement": "Ok(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for std::sync::Arc<Option<T>>>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 70,
"column": 5
},
"end": {
"line": 79,
"column": 6
}
}
},
"span": {
"start": {
"line": 71,
"column": 28
},
"end": {
"line": 71,
"column": 30
}
},
"replacement": "==",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for std::sync::Arc<Vec<T>>>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 87,
"column": 5
},
"end": {
"line": 96,
"column": 6
}
}
},
"span": {
"start": {
"line": 88,
"column": 9
},
"end": {
"line": 95,
"column": 98
}
},
"replacement": "Ok(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for std::sync::Arc<Vec<T>>>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 87,
"column": 5
},
"end": {
"line": 96,
"column": 6
}
}
},
"span": {
"start": {
"line": 88,
"column": 28
},
"end": {
"line": 88,
"column": 30
}
},
"replacement": "==",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for std::sync::Arc<std::sync::Arc<T>>>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 104,
"column": 5
},
"end": {
"line": 113,
"column": 6
}
}
},
"span": {
"start": {
"line": 105,
"column": 9
},
"end": {
"line": 112,
"column": 98
}
},
"replacement": "Ok(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for std::sync::Arc<std::sync::Arc<T>>>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 104,
"column": 5
},
"end": {
"line": 113,
"column": 6
}
}
},
"span": {
"start": {
"line": 105,
"column": 28
},
"end": {
"line": 105,
"column": 30
}
},
"replacement": "==",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for std::sync::Arc<std::collections::HashMap<K, V>>>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 122,
"column": 5
},
"end": {
"line": 131,
"column": 6
}
}
},
"span": {
"start": {
"line": 123,
"column": 9
},
"end": {
"line": 130,
"column": 98
}
},
"replacement": "Ok(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "<impl ExtractFromListeners for std::sync::Arc<std::collections::HashMap<K, V>>>::extract",
"return_type": "-> Result<Self, String>",
"span": {
"start": {
"line": 122,
"column": 5
},
"end": {
"line": 131,
"column": 6
}
}
},
"span": {
"start": {
"line": 123,
"column": 28
},
"end": {
"line": 123,
"column": 30
}
},
"replacement": "==",
"genre": "BinaryOperator"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "task_fn::<impl Task for TaskFn<I, O, Fut, F>>::run",
"return_type": "-> O",
"span": {
"start": {
"line": 237,
"column": 9
},
"end": {
"line": 239,
"column": 10
}
}
},
"span": {
"start": {
"line": 238,
"column": 13
},
"end": {
"line": 238,
"column": 34
}
},
"replacement": "Default::default()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "task_fn::<impl crate::node::TaskExecute for TaskFn<I, O, Fut, F>>::execute",
"return_type": "-> std::pin::Pin<Box<dyn Future<Output = Result<std::sync::Arc<dyn std::any::Any +Send +Sync>, String>>+Send, >, >",
"span": {
"start": {
"line": 252,
"column": 9
},
"end": {
"line": 285,
"column": 10
}
}
},
"span": {
"start": {
"line": 262,
"column": 13
},
"end": {
"line": 284,
"column": 15
}
},
"replacement": "Pin::new()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "task_fn::<impl crate::node::TaskExecute for TaskFn<I, O, Fut, F>>::execute",
"return_type": "-> std::pin::Pin<Box<dyn Future<Output = Result<std::sync::Arc<dyn std::any::Any +Send +Sync>, String>>+Send, >, >",
"span": {
"start": {
"line": 252,
"column": 9
},
"end": {
"line": 285,
"column": 10
}
}
},
"span": {
"start": {
"line": 262,
"column": 13
},
"end": {
"line": 284,
"column": 15
}
},
"replacement": "Pin::from_iter([Box::new(Default::default())])",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "task_fn::<impl crate::node::TaskExecute for TaskFn<I, O, Fut, F>>::execute",
"return_type": "-> std::pin::Pin<Box<dyn Future<Output = Result<std::sync::Arc<dyn std::any::Any +Send +Sync>, String>>+Send, >, >",
"span": {
"start": {
"line": 252,
"column": 9
},
"end": {
"line": 285,
"column": 10
}
}
},
"span": {
"start": {
"line": 262,
"column": 13
},
"end": {
"line": 284,
"column": 15
}
},
"replacement": "Pin::new(Box::new(Default::default()))",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "task_fn::<impl crate::node::TaskExecute for TaskFn<I, O, Fut, F>>::execute",
"return_type": "-> std::pin::Pin<Box<dyn Future<Output = Result<std::sync::Arc<dyn std::any::Any +Send +Sync>, String>>+Send, >, >",
"span": {
"start": {
"line": 252,
"column": 9
},
"end": {
"line": 285,
"column": 10
}
}
},
"span": {
"start": {
"line": 262,
"column": 13
},
"end": {
"line": 284,
"column": 15
}
},
"replacement": "Pin::from(Box::new(Default::default()))",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "task_fn::<impl crate::node::TaskExecute for TaskFn<I, O, Fut, F>>::create_announcement_erased",
"return_type": "-> (Box<dyn std::any::Any +Send>, Box<dyn std::any::Any +Send>)",
"span": {
"start": {
"line": 287,
"column": 9
},
"end": {
"line": 293,
"column": 10
}
}
},
"span": {
"start": {
"line": 288,
"column": 13
},
"end": {
"line": 292,
"column": 14
}
},
"replacement": "(Box::new(Default::default()), Box::new(Default::default()))",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/task.rs",
"function": {
"function_name": "task_fn::<impl crate::node::TaskExecute for TaskFn<I, O, Fut, F>>::create_listener_erased",
"return_type": "-> Box<dyn std::any::Any +Send>",
"span": {
"start": {
"line": 295,
"column": 9
},
"end": {
"line": 300,
"column": 10
}
}
},
"span": {
"start": {
"line": 296,
"column": 13
},
"end": {
"line": 299,
"column": 79
}
},
"replacement": "Box::new(Default::default())",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/types.rs",
"function": {
"function_name": "<impl Clone for TaskHandle<T>>::clone",
"return_type": "-> Self",
"span": {
"start": {
"line": 47,
"column": 5
},
"end": {
"line": 49,
"column": 6
}
}
},
"span": {
"start": {
"line": 48,
"column": 9
},
"end": {
"line": 48,
"column": 14
}
},
"replacement": "Default::default()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/types.rs",
"function": {
"function_name": "<impl From<TaskBuilder<'a, Tk, Deps>> for TaskHandle<Tk::Output>>::from",
"return_type": "-> Self",
"span": {
"start": {
"line": 69,
"column": 5
},
"end": {
"line": 74,
"column": 6
}
}
},
"span": {
"start": {
"line": 70,
"column": 9
},
"end": {
"line": 73,
"column": 10
}
},
"replacement": "Default::default()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/types.rs",
"function": {
"function_name": "<impl From<&TaskBuilder<'a, Tk, Deps>> for TaskHandle<Tk::Output>>::from",
"return_type": "-> Self",
"span": {
"start": {
"line": 81,
"column": 5
},
"end": {
"line": 86,
"column": 6
}
}
},
"span": {
"start": {
"line": 82,
"column": 9
},
"end": {
"line": 85,
"column": 10
}
},
"replacement": "Default::default()",
"genre": "FnValue"
},
{
"package": "dagx",
"file": "src/types.rs",
"function": {
"function_name": "<impl From<&TaskHandle<T>> for TaskHandle<T>>::from",
"return_type": "-> Self",
"span": {
"start": {
"line": 91,
"column": 5
},
"end": {
"line": 93,
"column": 6
}
}
},
"span": {
"start": {
"line": 92,
"column": 9
},
"end": {
"line": 92,
"column": 16
}
},
"replacement": "Default::default()",
"genre": "FnValue"
}
]