gsgdt 0.1.2

Generic Stringly Typed Graph Datatype
Documentation
{
  "name": "Mir_0_3",
  "kind": "Digraph",
  "nodes": [
    {
      "label": "bb0",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb0",
      "stmts": [
        "StorageLive(_1)",
        "_1 = Vec::<i32>::new()"
      ]
    },
    {
      "label": "bb1",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb1",
      "stmts": [
        "resume"
      ]
    },
    {
      "label": "bb2",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb2",
      "stmts": [
        "StorageLive(_2)", "StorageLive(_3)", "(_3.0: i32) = const 1_i32", "(_3.1: i32) = const 10_i32",
        "_2 = <std::ops::Range<i32> as IntoIterator>::into_iter(move _3)"
      ]
    },
    {
      "label": "bb3",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb3",
      "stmts": [
        "StorageDead(_3)", "StorageLive(_4)", "_4 = move _2",
        "goto"
      ]
    },
    {
      "label": "bb4",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb4",
      "stmts": [
        "drop(_1)"
      ]
    },
    {
      "label": "bb5",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb5",
      "stmts": [
        "StorageLive(_5)", "StorageLive(_6)", "StorageLive(_7)", "StorageLive(_8)", "_8 = &mut _4", "_7 = &mut (*_8)",
        "_6 = <std::ops::Range<i32> as Iterator>::next(move _7)"
      ]
    },
    {
      "label": "bb6",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb6",
      "stmts": [
        "StorageDead(_7)", "_9 = discriminant(_6)",
        "switchInt(move _9)"
      ]
    },
    {
      "label": "bb7",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb7",
      "stmts": [
        "_0 = const ()", "StorageDead(_8)", "StorageDead(_6)", "StorageDead(_5)", "StorageDead(_4)", "StorageDead(_2)",
        "drop(_1)"
      ]
    },
    {
      "label": "bb8",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb8",
      "stmts": [
        "unreachable"
      ]
    },
    {
      "label": "bb9",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb9",
      "stmts": [
        "StorageLive(_10)", "_10 = ((_6 as Some).0: i32)", "StorageLive(_11)", "_11 = _10", "_5 = move _11", "StorageDead(_11)", "StorageDead(_10)", "StorageDead(_8)", "StorageDead(_6)", "StorageLive(_12)", "_12 = _5", "StorageLive(_13)", "StorageLive(_14)", "_14 = _12", "_15 = const false", "_16 = Eq(_14, const i32::MIN)", "_17 = BitAnd(move _15, move _16)",
        "assert(!move _17, \"attempt to compute the remainder of `{} % {}` which would overflow\", _14, const 3_i32)"
      ]
    },
    {
      "label": "bb10",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb10",
      "stmts": [
        "_13 = Rem(move _14, const 3_i32)", "StorageDead(_14)",
        "switchInt(move _13)"
      ]
    },
    {
      "label": "bb11",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb11",
      "stmts": [
        "StorageDead(_13)",
        "goto"
      ]
    },
    {
      "label": "bb12",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb12",
      "stmts": [
        "StorageDead(_13)", "StorageLive(_18)", "StorageLive(_19)", "_19 = &mut _1", "StorageLive(_20)", "_20 = _12",
        "_18 = Vec::<i32>::push(move _19, move _20)"
      ]
    },
    {
      "label": "bb13",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb13",
      "stmts": [
        "StorageDead(_20)", "StorageDead(_19)", "StorageDead(_18)",
        "goto"
      ]
    },
    {
      "label": "bb14",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb14",
      "stmts": [
        "StorageDead(_12)", "StorageDead(_5)",
        "goto"
      ]
    },
    {
      "label": "bb15",
      "style": {
        "title_bg": null,
        "last_stmt_sep": false
      },
      "title": "bb15",
      "stmts": [
        "StorageDead(_1)",
        "return"
      ]
    }
  ],
  "edges": [
    {
      "from": "bb0",
      "to": "bb2",
      "label": "return"
    },
    {
      "from": "bb2",
      "to": "bb3",
      "label": "return"
    },
    {
      "from": "bb2",
      "to": "bb4",
      "label": "unwind"
    },
    {
      "from": "bb3",
      "to": "bb5",
      "label": ""
    },
    {
      "from": "bb4",
      "to": "bb1",
      "label": "return"
    },
    {
      "from": "bb5",
      "to": "bb6",
      "label": "return"
    },
    {
      "from": "bb5",
      "to": "bb4",
      "label": "unwind"
    },
    {
      "from": "bb6",
      "to": "bb7",
      "label": "0_isize"
    },
    {
      "from": "bb6",
      "to": "bb9",
      "label": "1_isize"
    },
    {
      "from": "bb6",
      "to": "bb8",
      "label": "otherwise"
    },
    {
      "from": "bb7",
      "to": "bb15",
      "label": "return"
    },
    {
      "from": "bb9",
      "to": "bb10",
      "label": "success"
    },
    {
      "from": "bb9",
      "to": "bb4",
      "label": "unwind"
    },
    {
      "from": "bb10",
      "to": "bb12",
      "label": "0_i32"
    },
    {
      "from": "bb10",
      "to": "bb11",
      "label": "otherwise"
    },
    {
      "from": "bb11",
      "to": "bb14",
      "label": ""
    },
    {
      "from": "bb12",
      "to": "bb13",
      "label": "return"
    },
    {
      "from": "bb12",
      "to": "bb4",
      "label": "unwind"
    },
    {
      "from": "bb13",
      "to": "bb14",
      "label": ""
    },
    {
      "from": "bb14",
      "to": "bb5",
      "label": ""
    }
  ]
}