echoes 0.12.0

Find duplicated Rust doctests, functions and contexts
Documentation
[
  {
    "id": "dc_into_let",
    "family": "declared_conversions",
    "a": "fn f(x: u16) -> u32 { let y: u32 = x.into(); y } fn main(){ println!(\"{} {}\", f(0), f(u16::MAX)); }",
    "b": "fn f(x: u16) -> u32 { let y: u32 = u32::from(x); y } fn main(){ println!(\"{} {}\", f(0), f(u16::MAX)); }",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 65535\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 65535\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 65535\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 65535\n"
        }
      }
    }
  },
  {
    "id": "dc_into_char",
    "family": "declared_conversions",
    "a": "fn f(c: char) -> u32 { c.into() } fn main(){ println!(\"{} {}\", f('\\0'), f(char::MAX)); }",
    "b": "fn f(c: char) -> u32 { c as u32 } fn main(){ println!(\"{} {}\", f('\\0'), f(char::MAX)); }",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 1114111\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 1114111\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 1114111\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 1114111\n"
        }
      }
    }
  },
  {
    "id": "dc_into_str",
    "family": "declared_conversions",
    "a": "fn f(t: &str) -> String { t.into() } fn main(){ let s = f(\"abc\"); println!(\"{} {}\", s, s.capacity()); }",
    "b": "fn f(t: &str) -> String { t.to_string() } fn main(){ let s = f(\"abc\"); println!(\"{} {}\", s, s.capacity()); }",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "abc 3\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "abc 3\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "abc 3\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "abc 3\n"
        }
      }
    }
  },
  {
    "id": "dc_into_char_string",
    "family": "declared_conversions",
    "a": "fn f(c: char) -> String { c.into() } fn main(){ let s = f('\\u{e9}'); println!(\"{} {}\", s, s.capacity()); }",
    "b": "fn f(c: char) -> String { String::from(c) } fn main(){ let s = f('\\u{e9}'); println!(\"{} {}\", s, s.capacity()); }",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "é 2\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "é 2\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "é 2\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "é 2\n"
        }
      }
    }
  },
  {
    "id": "dc_default_int",
    "family": "declared_conversions",
    "a": "fn f() -> i64 { Default::default() } fn h() -> char { char::default() } fn main(){ println!(\"{} {}\", f(), h() as u32); }",
    "b": "fn f() -> i64 { 0 } fn h() -> char { '\\0' } fn main(){ println!(\"{} {}\", f(), h() as u32); }",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 0\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 0\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 0\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "0 0\n"
        }
      }
    }
  },
  {
    "id": "dc_default_string",
    "family": "declared_conversions",
    "a": "fn f() -> (String, usize) { let s: String = Default::default(); let c = s.capacity(); (s, c) } fn main(){ println!(\"{:?}\", f()); }",
    "b": "fn f() -> (String, usize) { let s: String = String::new(); let c = s.capacity(); (s, c) } fn main(){ println!(\"{:?}\", f()); }",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "(\"\", 0)\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "(\"\", 0)\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "(\"\", 0)\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "(\"\", 0)\n"
        }
      }
    }
  },
  {
    "id": "dc_default_vec",
    "family": "declared_conversions",
    "a": "fn f() -> usize { Vec::<u32>::default().capacity() } fn main(){ println!(\"{}\", f()); }",
    "b": "fn f() -> usize { Vec::<u32>::new().capacity() } fn main(){ println!(\"{}\", f()); }",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "0\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "0\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "0\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "0\n"
        }
      }
    }
  },
  {
    "id": "dc_take_new",
    "family": "declared_conversions",
    "a": "fn f(v: &mut Vec<u32>) -> Vec<u32> { std::mem::replace(v, Vec::new()) } fn main(){ let mut v = Vec::with_capacity(8); v.push(1u32); let t = f(&mut v); println!(\"{:?} {} {:?} {}\", t, t.capacity(), v, v.capacity()); }",
    "b": "fn f(v: &mut Vec<u32>) -> Vec<u32> { std::mem::take(v) } fn main(){ let mut v = Vec::with_capacity(8); v.push(1u32); let t = f(&mut v); println!(\"{:?} {} {:?} {}\", t, t.capacity(), v, v.capacity()); }",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "[1] 8 [] 0\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "[1] 8 [] 0\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "[1] 8 [] 0\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "[1] 8 [] 0\n"
        }
      }
    }
  },
  {
    "id": "dc_take_default",
    "family": "declared_conversions",
    "a": "fn f(s: &mut String) -> String { core::mem::replace(s, Default::default()) } fn main(){ let mut s = String::with_capacity(8); s.push('a'); let t = f(&mut s); println!(\"{:?} {} {:?} {}\", t, t.capacity(), s, s.capacity()); }",
    "b": "fn f(s: &mut String) -> String { core::mem::take(s) } fn main(){ let mut s = String::with_capacity(8); s.push('a'); let t = f(&mut s); println!(\"{:?} {} {:?} {}\", t, t.capacity(), s, s.capacity()); }",
    "expected": "same",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "\"a\" 8 \"\" 0\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "\"a\" 8 \"\" 0\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "\"a\" 8 \"\" 0\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "\"a\" 8 \"\" 0\n"
        }
      }
    }
  },
  {
    "id": "dc_replace_value",
    "family": "declared_conversions",
    "a": "fn f(v: &mut Vec<u32>) -> Vec<u32> { std::mem::replace(v, vec![2]) } fn main(){ let mut v = Vec::with_capacity(8); v.push(1u32); let t = f(&mut v); println!(\"{:?} {} {:?} {}\", t, t.capacity(), v, v.capacity()); }",
    "b": "fn f(v: &mut Vec<u32>) -> Vec<u32> { std::mem::take(v) } fn main(){ let mut v = Vec::with_capacity(8); v.push(1u32); let t = f(&mut v); println!(\"{:?} {} {:?} {}\", t, t.capacity(), v, v.capacity()); }",
    "expected": "different",
    "expect": {
      "a": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "[1] 8 [2] 1\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "[1] 8 [2] 1\n"
        }
      },
      "b": {
        "off": {
          "compile": "ok",
          "run": "value",
          "stdout": "[1] 8 [] 0\n"
        },
        "on": {
          "compile": "ok",
          "run": "value",
          "stdout": "[1] 8 [] 0\n"
        }
      }
    }
  }
]