Convert scm/mononoke/blobrepo_utils to Rust 2018

Summary:
Rust 2018 updates to:
  //scm/mononoke/blobrepo_utils:blobrepo_utils
  //scm/mononoke/blobrepo_utils:blobrepo_utils-unittest
  //scm/mononoke/blobrepo_utils:blobrepo_utils_test
  //scm/mononoke/blobrepo_utils:blobrepo_utils_test-rust-build-info-lib

Reviewed By: StanislavGlebik

Differential Revision: D15465939

fbshipit-source-id: fffb4c0383b0b5d0c5288ea8df647ce72f892637
This commit is contained in:
Jeremy Fitzhardinge 2019-05-28 15:11:33 -07:00 committed by Facebook Github Bot
parent af056ea526
commit 2ae6f7c3e8
5 changed files with 21 additions and 17 deletions

View File

@ -27,8 +27,8 @@ use mercurial_types::manifest_utils::{changed_entry_stream, ChangedEntry};
use mercurial_types::{Changeset, Entry, HgChangesetId, HgManifestId, HgNodeHash, Type};
use mononoke_types::DateTime;
use changeset::{visit_changesets, ChangesetVisitMeta, ChangesetVisitor};
use errors::*;
use crate::changeset::{visit_changesets, ChangesetVisitMeta, ChangesetVisitor};
use crate::errors::*;
#[derive(Clone, Debug)]
pub enum BonsaiMFVerifyResult {
@ -115,7 +115,7 @@ impl BonsaiMFVerifyDifference {
}
impl fmt::Debug for BonsaiMFVerifyDifference {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.debug_struct("BonsaiMFVerifyDifference")
.field("lookup_mf_id", &format!("{}", self.lookup_mf_id))
.field("expected_mf_id", &format!("{}", self.expected_mf_id))
@ -354,7 +354,8 @@ pub fn apply_diff(
IncompleteFilenodes::new(),
manifest_p1,
manifest_p2,
).and_then({
)
.and_then({
move |memory_manifest| {
let memory_manifest = Arc::new(memory_manifest);
let futures: Vec<_> = diff_result
@ -398,7 +399,7 @@ fn make_entry(repo: &BlobRepo, diff_result: &BonsaiDiffResult) -> Option<HgBlobE
}
#[inline]
fn get_root_entry(repo: &BlobRepo, changeset: &HgBlobChangeset) -> Box<Entry + Sync> {
fn get_root_entry(repo: &BlobRepo, changeset: &HgBlobChangeset) -> Box<dyn Entry + Sync> {
let manifest_id = changeset.manifestid();
Box::new(repo.get_root_entry(manifest_id))
}

View File

@ -6,10 +6,13 @@
use std::sync::Arc;
use crate::failure::{Error, Result};
use chashmap::CHashMap;
use context::CoreContext;
use failure::{Error, Result};
use futures::{Future, Stream, sync::mpsc::{self, Sender}};
use futures::{
sync::mpsc::{self, Sender},
Future, Stream,
};
use slog::Logger;
use tokio;

View File

@ -4,12 +4,14 @@
// This software may be used and distributed according to the terms of the
// GNU General Public License version 2 or any later version.
pub use failure::{Error, Result, ResultExt};
pub use crate::failure::{Error, Result, ResultExt};
use mercurial_types::HgChangesetId;
#[derive(Debug, Fail)]
pub enum ErrorKind {
#[fail(display = "While visiting changeset {}", _0)] VisitError(HgChangesetId),
#[fail(display = "While verifying changeset {}", _0)] VerificationError(HgChangesetId),
#[fail(display = "While visiting changeset {}", _0)]
VisitError(HgChangesetId),
#[fail(display = "While verifying changeset {}", _0)]
VerificationError(HgChangesetId),
}

View File

@ -30,13 +30,13 @@ mod bonsai;
mod changeset;
mod errors;
pub use bonsai::{BonsaiMFVerify, BonsaiMFVerifyDifference, BonsaiMFVerifyResult};
pub use changeset::{visit_changesets, ChangesetVisitor};
pub use errors::ErrorKind;
pub use crate::bonsai::{BonsaiMFVerify, BonsaiMFVerifyDifference, BonsaiMFVerifyResult};
pub use crate::changeset::{visit_changesets, ChangesetVisitor};
pub use crate::errors::ErrorKind;
pub mod internals {
// This shouldn't actually be public, but it needs to be because of
// https://github.com/rust-lang/rust/issues/50865.
// TODO: (rain1) T31595868 make apply_diff private once Rust 1.29 is released
pub use bonsai::apply_diff;
pub use crate::bonsai::apply_diff;
}

View File

@ -15,10 +15,8 @@ extern crate slog_glog_fmt;
extern crate blobrepo_utils;
extern crate context;
extern crate mercurial_types;
extern crate fixtures;
extern crate tokio;
use fixtures::*;
@ -38,7 +36,7 @@ mod test {
use blobrepo_utils::{BonsaiMFVerify, BonsaiMFVerifyResult};
use context::CoreContext;
use $repo;
use crate::$repo;
#[test]
fn test() {