changeset 548:cb5111b68cf1

move crate to rust-edition 2018
author Lewin Bormann <lbo@spheniscida.de>
date Sat, 05 Mar 2022 22:50:12 +0100
parents c29852db909a
children 8cf7d6fba366
files Cargo.toml src/block.rs src/block_builder.rs src/cmp.rs src/db_impl.rs src/db_iter.rs src/disk_env.rs src/env.rs src/filter.rs src/filter_block.rs src/key_types.rs src/log.rs src/mem_env.rs src/memtable.rs src/merging_iter.rs src/options.rs src/skipmap.rs src/snapshot.rs src/table_block.rs src/table_builder.rs src/table_cache.rs src/table_reader.rs src/test_util.rs src/types.rs src/version.rs src/version_edit.rs src/version_set.rs src/write_batch.rs
diffstat 28 files changed, 195 insertions(+), 194 deletions(-) [+]
line wrap: on
line diff
--- a/Cargo.toml	Sat Mar 05 12:53:45 2022 +0100
+++ b/Cargo.toml	Sat Mar 05 22:50:12 2022 +0100
@@ -9,7 +9,7 @@
 keywords = ["LevelDB", "key-value", "database", "SSTable", "Google"]
 license = "MIT"
 publish = true
-edition = "2015"
+edition = "2018"
 include = ["src/**/*", "src/*", "Cargo.toml", "LICENSE", "README.md"]
 
 [dependencies]
--- a/src/block.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/block.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -2,8 +2,8 @@
 
 use std::rc::Rc;
 
-use options::Options;
-use types::LdbIterator;
+use crate::options::Options;
+use crate::types::LdbIterator;
 
 use integer_encoding::FixedInt;
 use integer_encoding::VarInt;
@@ -206,7 +206,7 @@
             true
         } else {
             #[cfg(debug_assertions)]
-            panic!("parse_entry_and_advance(): couldn't parse entry head at/after {:?}", self.key);
+            panic!("[debug mode panic] parse_entry_and_advance(): couldn't parse entry head at/after {:?}", self.key);
             #[allow(unreachable_code)]
             false
         }
@@ -311,10 +311,10 @@
 #[cfg(test)]
 mod tests {
     use super::*;
-    use block_builder::BlockBuilder;
-    use options;
-    use test_util::{test_iterator_properties, LdbIteratorIter};
-    use types::{current_key_val, LdbIterator};
+    use crate::block_builder::BlockBuilder;
+    use crate::options;
+    use crate::test_util::{test_iterator_properties, LdbIteratorIter};
+    use crate::types::{current_key_val, LdbIterator};
 
     fn get_data() -> Vec<(&'static [u8], &'static [u8])> {
         vec![
--- a/src/block_builder.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/block_builder.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,7 +1,7 @@
 use std::cmp::Ordering;
 
-use block::BlockContents;
-use options::Options;
+use crate::block::BlockContents;
+use crate::options::Options;
 
 use integer_encoding::{FixedIntWriter, VarIntWriter};
 
@@ -122,7 +122,7 @@
 #[cfg(test)]
 mod tests {
     use super::*;
-    use options;
+    use crate::options;
 
     fn get_data() -> Vec<(&'static [u8], &'static [u8])> {
         vec![
--- a/src/cmp.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/cmp.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,5 +1,5 @@
-use key_types::{self, LookupKey};
-use types;
+use crate::key_types::{self, LookupKey};
+use crate::types;
 
 use std::cmp::Ordering;
 use std::rc::Rc;
--- a/src/db_impl.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/db_impl.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -3,31 +3,31 @@
 
 #![allow(unused_attributes)]
 
-use db_iter::DBIterator;
+use crate::db_iter::DBIterator;
 
-use cmp::{Cmp, InternalKeyCmp};
-use env::{Env, FileLock};
-use error::{err, Result, StatusCode};
-use filter::{BoxedFilterPolicy, InternalFilterPolicy};
-use infolog::Logger;
-use key_types::{parse_internal_key, InternalKey, LookupKey, ValueType};
-use log::{LogReader, LogWriter};
-use memtable::MemTable;
-use merging_iter::MergingIter;
-use options::Options;
-use snapshot::{Snapshot, SnapshotList};
-use table_builder::TableBuilder;
-use table_cache::{table_file_name, TableCache};
-use types::{
+use crate::cmp::{Cmp, InternalKeyCmp};
+use crate::env::{Env, FileLock};
+use crate::error::{err, Result, StatusCode};
+use crate::filter::{BoxedFilterPolicy, InternalFilterPolicy};
+use crate::infolog::Logger;
+use crate::key_types::{parse_internal_key, InternalKey, LookupKey, ValueType};
+use crate::log::{LogReader, LogWriter};
+use crate::memtable::MemTable;
+use crate::merging_iter::MergingIter;
+use crate::options::Options;
+use crate::snapshot::{Snapshot, SnapshotList};
+use crate::table_builder::TableBuilder;
+use crate::table_cache::{table_file_name, TableCache};
+use crate::types::{
     parse_file_name, share, FileMetaData, FileNum, FileType, LdbIterator, SequenceNumber, Shared,
     MAX_SEQUENCE_NUMBER, NUM_LEVELS,
 };
-use version::Version;
-use version_edit::VersionEdit;
-use version_set::{
+use crate::version::Version;
+use crate::version_edit::VersionEdit;
+use crate::version_set::{
     manifest_file_name, read_current_file, set_current_file, Compaction, VersionSet,
 };
-use write_batch::WriteBatch;
+use crate::write_batch::WriteBatch;
 
 use std::cmp::Ordering;
 use std::io::{self, BufWriter, Write};
@@ -1073,7 +1073,7 @@
 pub mod testutil {
     use super::*;
 
-    use version::testutil::make_version;
+    use crate::version::testutil::make_version;
 
     /// build_db creates a database filled with the tables created by make_version().
     pub fn build_db() -> (DB, Options) {
@@ -1132,12 +1132,12 @@
     use super::testutil::{build_db, set_file_to_compact};
     use super::*;
 
-    use error::Status;
-    use key_types::LookupKey;
-    use mem_env::MemEnv;
-    use options;
-    use test_util::LdbIteratorIter;
-    use version::testutil::make_version;
+    use crate::error::Status;
+    use crate::key_types::LookupKey;
+    use crate::mem_env::MemEnv;
+    use crate::options;
+    use crate::test_util::LdbIteratorIter;
+    use crate::version::testutil::make_version;
 
     #[test]
     fn test_db_impl_open_info_log() {
--- a/src/db_iter.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/db_iter.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,9 +1,9 @@
-use cmp::Cmp;
-use key_types::{parse_internal_key, truncate_to_userkey, LookupKey, ValueType};
-use merging_iter::MergingIter;
-use snapshot::Snapshot;
-use types::{Direction, LdbIterator, Shared};
-use version_set::VersionSet;
+use crate::cmp::Cmp;
+use crate::key_types::{parse_internal_key, truncate_to_userkey, LookupKey, ValueType};
+use crate::merging_iter::MergingIter;
+use crate::snapshot::Snapshot;
+use crate::types::{Direction, LdbIterator, Shared};
+use crate::version_set::VersionSet;
 
 use std::cmp::Ordering;
 use std::mem;
@@ -287,10 +287,10 @@
 #[cfg(test)]
 mod tests {
     use super::*;
-    use db_impl::testutil::*;
-    use db_impl::DB;
-    use test_util::LdbIteratorIter;
-    use types::{current_key_val, Direction};
+    use crate::db_impl::testutil::*;
+    use crate::db_impl::DB;
+    use crate::test_util::LdbIteratorIter;
+    use crate::types::{current_key_val, Direction};
 
     use std::collections::HashMap;
     use std::collections::HashSet;
--- a/src/disk_env.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/disk_env.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,6 +1,6 @@
-use env::{path_to_str, Env, FileLock, Logger, RandomAccess};
-use env_common::{micros, sleep_for};
-use error::{err, Result, Status, StatusCode};
+use crate::env::{path_to_str, Env, FileLock, Logger, RandomAccess};
+use crate::env_common::{micros, sleep_for};
+use crate::error::{err, Result, Status, StatusCode};
 use fs2::FileExt;
 
 use std::collections::HashMap;
--- a/src/env.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/env.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,7 +1,7 @@
 //! An `env` is an abstraction layer that allows the database to run both on different platforms as
 //! well as persisting data on disk or in memory.
 
-use error::Result;
+use crate::error::Result;
 
 use std::fs::File;
 use std::io::prelude::*;
--- a/src/filter.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/filter.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -231,7 +231,7 @@
 #[cfg(test)]
 mod tests {
     use super::*;
-    use key_types::LookupKey;
+    use crate::key_types::LookupKey;
 
     const _BITS_PER_KEY: u32 = 12;
 
--- a/src/filter_block.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/filter_block.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,5 +1,5 @@
-use block::BlockContents;
-use filter::BoxedFilterPolicy;
+use crate::block::BlockContents;
+use crate::filter::BoxedFilterPolicy;
 
 use std::rc::Rc;
 
@@ -166,7 +166,7 @@
     use super::get_filter_index;
     use super::FILTER_BASE_LOG2;
     use super::*;
-    use filter::BloomPolicy;
+    use crate::filter::BloomPolicy;
 
     #[test]
     fn test_filter_index() {
--- a/src/key_types.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/key_types.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,5 +1,5 @@
-use cmp::Cmp;
-use types::SequenceNumber;
+use crate::cmp::Cmp;
+use crate::types::SequenceNumber;
 
 use std::cmp::Ordering;
 use std::io::Write;
--- a/src/log.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/log.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -3,7 +3,7 @@
 //! A record is a bytestring: [checksum: uint32, length: uint16, type: uint8, data: [u8]]
 //! checksum is the crc32 sum of type and data; type is one of RecordType::{Full/First/Middle/Last}
 
-use error::{err, Result, StatusCode};
+use crate::error::{err, Result, StatusCode};
 
 use std::io::{Read, Write};
 
--- a/src/mem_env.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/mem_env.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,8 +1,8 @@
 //! An in-memory implementation of Env.
 
-use env::{path_to_str, path_to_string, Env, FileLock, Logger, RandomAccess};
-use env_common::{micros, sleep_for};
-use error::{err, Result, StatusCode};
+use crate::env::{path_to_str, path_to_string, Env, FileLock, Logger, RandomAccess};
+use crate::env_common::{micros, sleep_for};
+use crate::error::{err, Result, StatusCode};
 
 use std::collections::hash_map::Entry;
 use std::collections::HashMap;
@@ -351,7 +351,7 @@
 #[cfg(test)]
 mod tests {
     use super::*;
-    use env;
+    use crate::env;
 
     fn new_memfile(v: Vec<u8>) -> MemFile {
         MemFile(Arc::new(Mutex::new(v)))
--- a/src/memtable.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/memtable.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,8 +1,8 @@
-use cmp::{Cmp, MemtableKeyCmp};
-use key_types::{build_memtable_key, parse_internal_key, parse_memtable_key, ValueType};
-use key_types::{LookupKey, UserKey};
-use skipmap::{SkipMap, SkipMapIter};
-use types::{current_key_val, LdbIterator, SequenceNumber};
+use crate::cmp::{Cmp, MemtableKeyCmp};
+use crate::key_types::{build_memtable_key, parse_internal_key, parse_memtable_key, ValueType};
+use crate::key_types::{LookupKey, UserKey};
+use crate::skipmap::{SkipMap, SkipMapIter};
+use crate::types::{current_key_val, LdbIterator, SequenceNumber};
 
 use std::rc::Rc;
 
@@ -154,9 +154,9 @@
 #[allow(unused_variables)]
 mod tests {
     use super::*;
-    use key_types::*;
-    use options;
-    use test_util::{test_iterator_properties, LdbIteratorIter};
+    use crate::key_types::{parse_tag, truncate_to_userkey};
+    use crate::options;
+    use crate::test_util::{test_iterator_properties, LdbIteratorIter};
 
     #[test]
     fn test_shift_left() {
--- a/src/merging_iter.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/merging_iter.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,5 +1,5 @@
-use cmp::Cmp;
-use types::{current_key_val, Direction, LdbIterator};
+use crate::cmp::Cmp;
+use crate::types::{current_key_val, Direction, LdbIterator};
 
 use std::cmp::Ordering;
 use std::rc::Rc;
@@ -197,10 +197,10 @@
 mod tests {
     use super::*;
 
-    use cmp::DefaultCmp;
-    use skipmap::tests;
-    use test_util::{test_iterator_properties, LdbIteratorIter, TestLdbIter};
-    use types::{current_key_val, LdbIterator};
+    use crate::cmp::DefaultCmp;
+    use crate::skipmap::tests;
+    use crate::test_util::{test_iterator_properties, LdbIteratorIter, TestLdbIter};
+    use crate::types::{current_key_val, LdbIterator};
 
     #[test]
     fn test_merging_one() {
--- a/src/options.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/options.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,12 +1,12 @@
-use block::Block;
-use cache::Cache;
-use cmp::{Cmp, DefaultCmp};
-use disk_env;
-use env::Env;
-use filter;
-use infolog::{self, Logger};
-use mem_env::MemEnv;
-use types::{share, Shared};
+use crate::block::Block;
+use crate::cache::Cache;
+use crate::cmp::{Cmp, DefaultCmp};
+use crate::disk_env;
+use crate::env::Env;
+use crate::filter;
+use crate::infolog::{self, Logger};
+use crate::mem_env::MemEnv;
+use crate::types::{share, Shared};
 
 use std::default::Default;
 use std::rc::Rc;
--- a/src/skipmap.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/skipmap.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,7 +1,7 @@
-use cmp::{Cmp, MemtableKeyCmp};
-use rand::rngs::StdRng;
-use rand::{RngCore, SeedableRng};
-use types::LdbIterator;
+use crate::cmp::{Cmp, MemtableKeyCmp};
+use crate::rand::rngs::StdRng;
+use crate::rand::{RngCore, SeedableRng};
+use crate::types::LdbIterator;
 
 use std::cell::RefCell;
 use std::cmp::Ordering;
@@ -378,10 +378,10 @@
 #[cfg(test)]
 pub mod tests {
     use super::*;
-    use cmp::MemtableKeyCmp;
-    use options;
-    use test_util::{test_iterator_properties, LdbIteratorIter};
-    use types::current_key_val;
+    use crate::cmp::MemtableKeyCmp;
+    use crate::options;
+    use crate::test_util::{test_iterator_properties, LdbIteratorIter};
+    use crate::types::current_key_val;
 
     pub fn make_skipmap() -> SkipMap {
         let mut skm = SkipMap::new(options::for_test().cmp);
--- a/src/snapshot.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/snapshot.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,5 +1,6 @@
 use std::collections::HashMap;
-use types::{share, SequenceNumber, Shared, MAX_SEQUENCE_NUMBER};
+
+use crate::types::{share, SequenceNumber, Shared, MAX_SEQUENCE_NUMBER};
 
 use std::rc::Rc;
 
--- a/src/table_block.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/table_block.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,12 +1,12 @@
-use block::Block;
-use blockhandle::BlockHandle;
-use env::RandomAccess;
-use error::{err, Result, StatusCode};
-use filter;
-use filter_block::FilterBlockReader;
-use log::unmask_crc;
-use options::{self, CompressionType, Options};
-use table_builder;
+use crate::block::Block;
+use crate::blockhandle::BlockHandle;
+use crate::env::RandomAccess;
+use crate::error::{err, Result, StatusCode};
+use crate::filter;
+use crate::filter_block::FilterBlockReader;
+use crate::log::unmask_crc;
+use crate::options::{self, CompressionType, Options};
+use crate::table_builder;
 
 use crc::crc32::{self, Hasher32};
 use integer_encoding::FixedInt;
--- a/src/table_builder.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/table_builder.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,13 +1,13 @@
-use block::BlockContents;
-use block_builder::BlockBuilder;
-use blockhandle::BlockHandle;
-use cmp::InternalKeyCmp;
-use error::Result;
-use filter::{InternalFilterPolicy, NoFilterPolicy};
-use filter_block::FilterBlockBuilder;
-use key_types::InternalKey;
-use log::mask_crc;
-use options::{CompressionType, Options};
+use crate::block::BlockContents;
+use crate::block_builder::BlockBuilder;
+use crate::blockhandle::BlockHandle;
+use crate::cmp::InternalKeyCmp;
+use crate::error::Result;
+use crate::filter::{InternalFilterPolicy, NoFilterPolicy};
+use crate::filter_block::FilterBlockBuilder;
+use crate::key_types::InternalKey;
+use crate::log::mask_crc;
+use crate::options::{CompressionType, Options};
 
 use std::cmp::Ordering;
 use std::io::Write;
@@ -277,8 +277,8 @@
 #[cfg(test)]
 mod tests {
     use super::*;
-    use blockhandle::BlockHandle;
-    use options;
+    use crate::blockhandle::BlockHandle;
+    use crate::options;
 
     #[test]
     fn test_footer() {
--- a/src/table_cache.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/table_cache.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -2,12 +2,12 @@
 //! read-through cache, meaning that non-present tables are read from disk and cached before being
 //! returned.
 
-use cache::{self, Cache};
-use error::{err, Result, StatusCode};
-use key_types::InternalKey;
-use options::Options;
-use table_reader::Table;
-use types::FileNum;
+use crate::cache::{self, Cache};
+use crate::error::{err, Result, StatusCode};
+use crate::key_types::InternalKey;
+use crate::options::Options;
+use crate::table_reader::Table;
+use crate::types::FileNum;
 
 use integer_encoding::FixedIntWriter;
 
@@ -89,11 +89,11 @@
 #[cfg(test)]
 mod tests {
     use super::*;
-    use cache;
-    use mem_env::MemEnv;
-    use options;
-    use table_builder::TableBuilder;
-    use test_util::LdbIteratorIter;
+    use crate::cache;
+    use crate::mem_env::MemEnv;
+    use crate::options;
+    use crate::table_builder::TableBuilder;
+    use crate::test_util::LdbIteratorIter;
 
     #[test]
     fn test_table_file_name() {
--- a/src/table_reader.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/table_reader.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,16 +1,16 @@
-use block::{Block, BlockIter};
-use blockhandle::BlockHandle;
-use cache;
-use cmp::InternalKeyCmp;
-use env::RandomAccess;
-use error::{self, err, Result};
-use filter;
-use filter_block::FilterBlockReader;
-use key_types::InternalKey;
-use options::Options;
-use table_block;
-use table_builder::{self, Footer};
-use types::{current_key_val, LdbIterator};
+use crate::block::{Block, BlockIter};
+use crate::blockhandle::BlockHandle;
+use crate::cache;
+use crate::cmp::InternalKeyCmp;
+use crate::env::RandomAccess;
+use crate::error::{self, err, Result};
+use crate::filter;
+use crate::filter_block::FilterBlockReader;
+use crate::key_types::InternalKey;
+use crate::options::Options;
+use crate::table_block;
+use crate::table_builder::{self, Footer};
+use crate::types::{current_key_val, LdbIterator};
 
 use std::cmp::Ordering;
 use std::rc::Rc;
@@ -361,12 +361,12 @@
 
 #[cfg(test)]
 mod tests {
-    use filter::BloomPolicy;
-    use key_types::LookupKey;
-    use options::{self, CompressionType};
-    use table_builder::TableBuilder;
-    use test_util::{test_iterator_properties, LdbIteratorIter};
-    use types::{current_key_val, LdbIterator};
+    use crate::filter::BloomPolicy;
+    use crate::key_types::LookupKey;
+    use crate::options::{self, CompressionType};
+    use crate::table_builder::TableBuilder;
+    use crate::test_util::{test_iterator_properties, LdbIteratorIter};
+    use crate::types::{current_key_val, LdbIterator};
 
     use super::*;
 
@@ -691,7 +691,7 @@
     // general, but here we want to see that the other infrastructure works too.
     #[test]
     fn test_table_internal_keys() {
-        use key_types::LookupKey;
+        use crate::key_types::LookupKey;
 
         let (src, size) = build_internal_table();
 
--- a/src/test_util.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/test_util.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,5 +1,5 @@
-use cmp::{Cmp, DefaultCmp};
-use types::{current_key_val, LdbIterator};
+use crate::cmp::{Cmp, DefaultCmp};
+use crate::types::{current_key_val, LdbIterator};
 
 use std::cmp::Ordering;
 
--- a/src/types.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/types.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,6 +1,6 @@
 //! A collection of fundamental and/or simple types used by other modules
 
-use error::{err, Result, StatusCode};
+use crate::error::{err, Result, StatusCode};
 
 use std::cell::RefCell;
 use std::path::Path;
--- a/src/version.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/version.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,9 +1,9 @@
-use cmp::{Cmp, InternalKeyCmp};
-use error::Result;
-use key_types::{parse_internal_key, InternalKey, LookupKey, UserKey, ValueType};
-use table_cache::TableCache;
-use table_reader::TableIterator;
-use types::{FileMetaData, FileNum, LdbIterator, Shared, MAX_SEQUENCE_NUMBER, NUM_LEVELS};
+use crate::cmp::{Cmp, InternalKeyCmp};
+use crate::error::Result;
+use crate::key_types::{parse_internal_key, InternalKey, LookupKey, UserKey, ValueType};
+use crate::table_cache::TableCache;
+use crate::table_reader::TableIterator;
+use crate::types::{FileMetaData, FileNum, LdbIterator, Shared, MAX_SEQUENCE_NUMBER, NUM_LEVELS};
 
 use std::cmp::Ordering;
 use std::default::Default;
@@ -571,13 +571,13 @@
 #[cfg(test)]
 pub mod testutil {
     use super::*;
-    use cmp::DefaultCmp;
-    use env::Env;
-    use key_types::ValueType;
-    use options::{self, Options};
-    use table_builder::TableBuilder;
-    use table_cache::table_file_name;
-    use types::{share, FileMetaData, FileNum};
+    use crate::cmp::DefaultCmp;
+    use crate::env::Env;
+    use crate::key_types::ValueType;
+    use crate::options::{self, Options};
+    use crate::table_builder::TableBuilder;
+    use crate::table_cache::table_file_name;
+    use crate::types::{share, FileMetaData, FileNum};
 
     use std::path::Path;
 
@@ -720,11 +720,11 @@
     use super::testutil::*;
     use super::*;
 
-    use cmp::DefaultCmp;
-    use error::Result;
-    use merging_iter::MergingIter;
-    use options;
-    use test_util::{test_iterator_properties, LdbIteratorIter};
+    use crate::cmp::DefaultCmp;
+    use crate::error::Result;
+    use crate::merging_iter::MergingIter;
+    use crate::options;
+    use crate::test_util::{test_iterator_properties, LdbIteratorIter};
 
     #[test]
     fn test_version_concat_iter() {
--- a/src/version_edit.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/version_edit.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,6 +1,6 @@
-use error::{err, Result, StatusCode};
-use key_types::InternalKey;
-use types::{FileMetaData, FileNum, SequenceNumber};
+use crate::error::{err, Result, StatusCode};
+use crate::key_types::InternalKey;
+use crate::types::{FileMetaData, FileNum, SequenceNumber};
 
 use integer_encoding::{VarIntReader, VarIntWriter};
 
@@ -299,8 +299,8 @@
     use super::CompactionPointer;
     use super::VersionEdit;
 
-    use cmp::{Cmp, DefaultCmp};
-    use types::FileMetaData;
+    use crate::cmp::{Cmp, DefaultCmp};
+    use crate::types::FileMetaData;
 
     #[test]
     fn test_version_edit_encode_decode() {
--- a/src/version_set.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/version_set.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,16 +1,16 @@
-use cmp::{Cmp, InternalKeyCmp};
-use env::Env;
-use error::{err, Result, Status, StatusCode};
-use key_types::{parse_internal_key, InternalKey, UserKey};
-use log::{LogReader, LogWriter};
-use merging_iter::MergingIter;
-use options::Options;
-use table_cache::TableCache;
-use types::{
+use crate::cmp::{Cmp, InternalKeyCmp};
+use crate::env::Env;
+use crate::error::{err, Result, Status, StatusCode};
+use crate::key_types::{parse_internal_key, InternalKey, UserKey};
+use crate::log::{LogReader, LogWriter};
+use crate::merging_iter::MergingIter;
+use crate::options::Options;
+use crate::table_cache::TableCache;
+use crate::types::{
     parse_file_name, share, FileMetaData, FileNum, FileType, LdbIterator, Shared, NUM_LEVELS,
 };
-use version::{new_version_iter, total_size, FileMetaHandle, Version};
-use version_edit::VersionEdit;
+use crate::version::{new_version_iter, total_size, FileMetaHandle, Version};
+use crate::version_edit::VersionEdit;
 
 use std::cmp::Ordering;
 use std::collections::HashSet;
@@ -970,11 +970,11 @@
 #[cfg(test)]
 mod tests {
     use super::*;
-    use cmp::DefaultCmp;
-    use key_types::LookupKey;
-    use test_util::LdbIteratorIter;
-    use types::FileMetaData;
-    use version::testutil::make_version;
+    use crate::cmp::DefaultCmp;
+    use crate::key_types::LookupKey;
+    use crate::test_util::LdbIteratorIter;
+    use crate::types::FileMetaData;
+    use crate::version::testutil::make_version;
 
     fn example_files() -> Vec<FileMetaHandle> {
         let mut f1 = FileMetaData::default();
--- a/src/write_batch.rs	Sat Mar 05 12:53:45 2022 +0100
+++ b/src/write_batch.rs	Sat Mar 05 22:50:12 2022 +0100
@@ -1,7 +1,7 @@
-use integer_encoding::{FixedInt, VarInt, VarIntWriter};
-use key_types::ValueType;
-use memtable::MemTable;
-use types::SequenceNumber;
+use crate::integer_encoding::{FixedInt, VarInt, VarIntWriter};
+use crate::key_types::ValueType;
+use crate::memtable::MemTable;
+use crate::types::SequenceNumber;
 
 use std::io::Write;