echoes 0.10.2

Find duplicated Rust doctests, functions and contexts
Documentation
[
  {
    "id": "nc_else_u32",
    "family": "nested_conditionals",
    "a": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{if p{if q{x}else{y}}else{y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "b": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{if p&&q{x}else{y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n2\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n2\n1\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n2\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n2\n1\n"
        }
      }
    }
  },
  {
    "id": "nc_effect_else",
    "family": "nested_conditionals",
    "a": "fn read()->u32{println!(\"read\");9u32} fn f(p:bool,q:bool,x:u32,y:u32)->u32{if p{if q{x}else{read()}}else{read()}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "b": "fn read()->u32{println!(\"read\");9u32} fn f(p:bool,q:bool,x:u32,y:u32)->u32{if p&&q{x}else{read()}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "read\n9\nread\n9\nread\n9\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "read\n9\nread\n9\nread\n9\n1\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "read\n9\nread\n9\nread\n9\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "read\n9\nread\n9\nread\n9\n1\n"
        }
      }
    }
  },
  {
    "id": "nc_effect_then",
    "family": "nested_conditionals",
    "a": "fn read()->u32{println!(\"read\");9u32} fn f(p:bool,q:bool,x:u32,y:u32)->u32{if p{if q{read()}else{y}}else{y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "b": "fn read()->u32{println!(\"read\");9u32} fn f(p:bool,q:bool,x:u32,y:u32)->u32{if q&&p{read()}else{y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n2\nread\n9\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n2\nread\n9\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n2\nread\n9\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n2\nread\n9\n"
        }
      }
    }
  },
  {
    "id": "nc_comparison",
    "family": "nested_conditionals",
    "a": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{if x<y{if p{x}else{y}}else{y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "b": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{if p&&x<y{x}else{y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        }
      }
    }
  },
  {
    "id": "nc_statement",
    "family": "nested_conditionals",
    "a": "fn f(p:bool,q:bool,r:bool){let _=r;if p{if q{println!(\"m\");}}} fn main(){for p in [false,true]{for q in [false,true]{for r in [false,true]{f(p,q,r);}}}}",
    "b": "fn f(p:bool,q:bool,r:bool){let _=r;if p&&q{println!(\"m\");}} fn main(){for p in [false,true]{for q in [false,true]{for r in [false,true]{f(p,q,r);}}}}",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "m\nm\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "m\nm\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "m\nm\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "m\nm\n"
        }
      }
    }
  },
  {
    "id": "nc_triple",
    "family": "nested_conditionals",
    "a": "fn f(p:bool,q:bool,r:bool){if p{if q{if r{println!(\"m\");}}}} fn main(){for p in [false,true]{for q in [false,true]{for r in [false,true]{f(p,q,r);}}}}",
    "b": "fn f(p:bool,q:bool,r:bool){if r&&(q&&p){println!(\"m\");}} fn main(){for p in [false,true]{for q in [false,true]{for r in [false,true]{f(p,q,r);}}}}",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "m\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "m\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "m\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "m\n"
        }
      }
    }
  },
  {
    "id": "nc_wildcard_true",
    "family": "nested_conditionals",
    "a": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{let _=q;match p{true=>x,_=>y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "b": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{let _=q;if p{x}else{y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        }
      }
    }
  },
  {
    "id": "nc_wildcard_false",
    "family": "nested_conditionals",
    "a": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{let _=q;match p{false=>y,_=>x}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "b": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{let _=q;if p{x}else{y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n1\n1\n"
        }
      }
    }
  },
  {
    "id": "nc_different_else",
    "family": "nested_conditionals",
    "a": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{if p{if q{x}else{y}}else{x}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "b": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{if p&&q{x}else{y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "expected": "different",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "1\n1\n2\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "1\n1\n2\n1\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n2\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "2\n2\n2\n1\n"
        }
      }
    }
  },
  {
    "id": "nc_outer_else_only",
    "family": "nested_conditionals",
    "a": "fn f(p:bool,q:bool,r:bool){let _=r;if p{if q{println!(\"m\");}}else{println!(\"o\");}} fn main(){for p in [false,true]{for q in [false,true]{for r in [false,true]{f(p,q,r);}}}}",
    "b": "fn f(p:bool,q:bool,r:bool){let _=r;if p&&q{println!(\"m\");}else{println!(\"o\");}} fn main(){for p in [false,true]{for q in [false,true]{for r in [false,true]{f(p,q,r);}}}}",
    "expected": "different",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "o\no\no\no\nm\nm\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "o\no\no\no\nm\nm\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "o\no\no\no\no\no\nm\nm\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "o\no\no\no\no\no\nm\nm\n"
        }
      }
    }
  },
  {
    "id": "nc_wildcard_first",
    "family": "nested_conditionals",
    "a": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{let _=q;match p{_=>x,true=>y}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "b": "fn f(p:bool,q:bool,x:u32,y:u32)->u32{let _=q;if p{y}else{x}} fn main(){for p in [false,true]{for q in [false,true]{println!(\"{}\",f(p,q,1u32,2u32));}}}",
    "expected": "different",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "1\n1\n1\n1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "1\n1\n1\n1\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "1\n1\n2\n2\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "1\n1\n2\n2\n"
        }
      }
    }
  }
]