From c7d499d4f2851b51bfc1c218730e87b72b5d46d0 Mon Sep 17 00:00:00 2001
From: jD91mZM2 <me@krake.one>
Date: Sun, 28 Jul 2019 18:13:31 +0200
Subject: [PATCH] Upgrade to the 2018 edition

I didn't think it'd be this useful first, but thank god for `cargo fix --edition`!
---
 Cargo.toml                         |  1 +
 src/c_str.rs                       |  6 +++---
 src/cxa.rs                         |  2 +-
 src/db.rs                          |  8 ++++----
 src/fs.rs                          | 12 +++++------
 src/header/_aio/mod.rs             |  4 ++--
 src/header/_fenv/mod.rs            |  2 +-
 src/header/_wctype/mod.rs          |  2 +-
 src/header/arpa_inet/mod.rs        | 14 ++++++-------
 src/header/assert/mod.rs           |  6 +++---
 src/header/ctype/mod.rs            |  2 +-
 src/header/dirent/mod.rs           | 16 +++++++--------
 src/header/dl-tls/mod.rs           |  4 ++--
 src/header/dlfcn/mod.rs            |  4 ++--
 src/header/errno/mod.rs            |  4 ++--
 src/header/fcntl/linux.rs          |  2 +-
 src/header/fcntl/mod.rs            |  6 +++---
 src/header/fcntl/redox.rs          |  2 +-
 src/header/float/mod.rs            |  4 ++--
 src/header/fnmatch/mod.rs          |  2 +-
 src/header/getopt/mod.rs           |  6 +++---
 src/header/grp/mod.rs              |  2 +-
 src/header/inttypes/mod.rs         | 10 +++++-----
 src/header/libgen/mod.rs           |  4 ++--
 src/header/locale/mod.rs           |  2 +-
 src/header/netdb/host.rs           | 18 ++++++++---------
 src/header/netdb/linux.rs          |  8 ++++----
 src/header/netdb/lookup.rs         | 22 ++++++++++----------
 src/header/netdb/mod.rs            | 28 +++++++++++++-------------
 src/header/netdb/redox.rs          |  8 ++++----
 src/header/netinet_in/mod.rs       |  4 ++--
 src/header/netinet_tcp/mod.rs      |  2 +-
 src/header/poll/mod.rs             |  6 +++---
 src/header/pwd/mod.rs              | 10 +++++-----
 src/header/regex/mod.rs            |  4 ++--
 src/header/semaphore/mod.rs        |  2 +-
 src/header/sgtty/mod.rs            |  4 ++--
 src/header/signal/mod.rs           |  8 ++++----
 src/header/stdio/constants.rs      |  2 +-
 src/header/stdio/default.rs        |  8 ++++----
 src/header/stdio/ext.rs            |  4 ++--
 src/header/stdio/getdelim.rs       |  8 ++++----
 src/header/stdio/helpers.rs        | 16 +++++++--------
 src/header/stdio/mod.rs            | 22 ++++++++++----------
 src/header/stdio/printf.rs         |  2 +-
 src/header/stdio/scanf.rs          |  4 ++--
 src/header/stdlib/lcg48.rs         |  2 +-
 src/header/stdlib/mod.rs           | 28 +++++++++++++-------------
 src/header/stdlib/sort.rs          |  2 +-
 src/header/string/mod.rs           |  8 ++++----
 src/header/strings/mod.rs          |  4 ++--
 src/header/sys_auxv/mod.rs         |  2 +-
 src/header/sys_epoll/linux.rs      |  2 +-
 src/header/sys_epoll/mod.rs        |  6 +++---
 src/header/sys_epoll/redox.rs      |  2 +-
 src/header/sys_file/mod.rs         |  4 ++--
 src/header/sys_ioctl/linux.rs      |  4 ++--
 src/header/sys_ioctl/mod.rs        |  2 +-
 src/header/sys_ioctl/redox.rs      | 10 +++++-----
 src/header/sys_mman/linux.rs       |  2 +-
 src/header/sys_mman/mod.rs         |  8 ++++----
 src/header/sys_mman/redox.rs       |  2 +-
 src/header/sys_ptrace/mod.rs       |  4 ++--
 src/header/sys_select/mod.rs       | 12 +++++------
 src/header/sys_socket/constants.rs |  2 +-
 src/header/sys_socket/mod.rs       |  4 ++--
 src/header/sys_stat/mod.rs         | 10 +++++-----
 src/header/sys_statvfs/mod.rs      |  8 ++++----
 src/header/sys_time/mod.rs         |  8 ++++----
 src/header/sys_timeb/mod.rs        |  4 ++--
 src/header/sys_uio/mod.rs          |  6 +++---
 src/header/sys_un/mod.rs           |  4 ++--
 src/header/sys_user/mod.rs         |  2 +-
 src/header/sys_utsname/mod.rs      |  4 ++--
 src/header/sys_wait/mod.rs         |  4 ++--
 src/header/termios/mod.rs          |  8 ++++----
 src/header/time/constants.rs       |  2 +-
 src/header/time/linux.rs           |  2 +-
 src/header/time/mod.rs             |  8 ++++----
 src/header/time/redox.rs           |  2 +-
 src/header/time/strftime.rs        |  4 ++--
 src/header/unistd/brk.rs           |  8 ++++----
 src/header/unistd/getopt.rs        |  4 ++--
 src/header/unistd/mod.rs           | 22 ++++++++++----------
 src/header/unistd/pathconf.rs      |  6 +++---
 src/header/unistd/sysconf.rs       |  6 +++---
 src/header/utime/mod.rs            |  8 ++++----
 src/header/wchar/mod.rs            | 16 +++++++--------
 src/header/wchar/utf8.rs           |  6 +++---
 src/ld_so/linker.rs                | 10 +++++-----
 src/ld_so/start.rs                 |  6 +++---
 src/ld_so/tcb.rs                   |  4 ++--
 src/lib.rs                         |  2 +-
 src/platform/linux/epoll.rs        |  4 ++--
 src/platform/linux/mod.rs          | 16 +++++++--------
 src/platform/linux/signal.rs       |  4 ++--
 src/platform/linux/socket.rs       |  2 +-
 src/platform/mod.rs                |  2 +-
 src/platform/pal/epoll.rs          |  4 ++--
 src/platform/pal/mod.rs            | 14 ++++++-------
 src/platform/pal/signal.rs         |  4 ++--
 src/platform/pal/socket.rs         |  2 +-
 src/platform/pte.rs                | 12 +++++------
 src/platform/redox/epoll.rs        | 14 ++++++-------
 src/platform/redox/extra.rs        |  4 ++--
 src/platform/redox/mod.rs          | 32 +++++++++++++++---------------
 src/platform/redox/signal.rs       |  8 ++++----
 src/platform/redox/socket.rs       |  8 ++++----
 src/platform/rlb.rs                |  6 +++---
 src/start.rs                       | 10 +++++-----
 src/sync/mod.rs                    |  4 ++--
 src/sync/mutex.rs                  |  2 +-
 src/sync/once.rs                   |  2 +-
 113 files changed, 378 insertions(+), 377 deletions(-)

diff --git a/Cargo.toml b/Cargo.toml
index 729f1cca..e57b8d5c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -2,6 +2,7 @@
 name = "relibc"
 version = "0.1.0"
 authors = ["Jeremy Soller <jackpot51@gmail.com>"]
+edition = "2018"
 
 [lib]
 name = "relibc"
diff --git a/src/c_str.rs b/src/c_str.rs
index b6158b93..a236450b 100644
--- a/src/c_str.rs
+++ b/src/c_str.rs
@@ -23,11 +23,11 @@ use core::ptr;
 use core::slice;
 use core::str::{self, Utf8Error};
 
-use header::string::strlen;
-use platform::types::*;
+use crate::header::string::strlen;
+use crate::platform::types::*;
 
 pub fn memchr(needle: u8, haystack: &[u8]) -> Option<usize> {
-    use header::string;
+    use crate::header::string;
 
     let p = unsafe {
         string::memchr(
diff --git a/src/cxa.rs b/src/cxa.rs
index 62a47eef..26221fa4 100644
--- a/src/cxa.rs
+++ b/src/cxa.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 // TODO: Implement cxa_finalize and uncomment this
 
diff --git a/src/db.rs b/src/db.rs
index 9c2acce1..402552a8 100644
--- a/src/db.rs
+++ b/src/db.rs
@@ -1,10 +1,10 @@
 use alloc::string::String;
 use alloc::vec::Vec;
 
-use c_str::CStr;
-use fs::File;
-use header::fcntl;
-use io::{self, BufRead, BufReader};
+use crate::c_str::CStr;
+use crate::fs::File;
+use crate::header::fcntl;
+use crate::io::{self, BufRead, BufReader};
 
 pub enum Separator {
     Character(char),
diff --git a/src/fs.rs b/src/fs.rs
index 103dc8ec..f30b1018 100644
--- a/src/fs.rs
+++ b/src/fs.rs
@@ -1,10 +1,10 @@
-use c_str::CStr;
+use crate::c_str::CStr;
 use core::ops::Deref;
-use header::fcntl::O_CREAT;
-use header::unistd::{SEEK_CUR, SEEK_END, SEEK_SET};
-use io;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::header::fcntl::O_CREAT;
+use crate::header::unistd::{SEEK_CUR, SEEK_END, SEEK_SET};
+use crate::io;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub struct File {
     pub fd: c_int,
diff --git a/src/header/_aio/mod.rs b/src/header/_aio/mod.rs
index ed4fc547..b0645953 100644
--- a/src/header/_aio/mod.rs
+++ b/src/header/_aio/mod.rs
@@ -1,5 +1,5 @@
-use header::time::{sigevent, timespec};
-use platform::types::*;
+use crate::header::time::{sigevent, timespec};
+use crate::platform::types::*;
 
 pub struct aiocb {
     pub aio_fildes: c_int,
diff --git a/src/header/_fenv/mod.rs b/src/header/_fenv/mod.rs
index 6aa92216..2af01591 100644
--- a/src/header/_fenv/mod.rs
+++ b/src/header/_fenv/mod.rs
@@ -1,7 +1,7 @@
 //! fenv.h implementation for Redox, following
 //! http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/fenv.h.html
 
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const FE_ALL_EXCEPT: c_int = 0;
 pub const FE_TONEAREST: c_int = 0;
diff --git a/src/header/_wctype/mod.rs b/src/header/_wctype/mod.rs
index ab820549..7162c19b 100644
--- a/src/header/_wctype/mod.rs
+++ b/src/header/_wctype/mod.rs
@@ -1,6 +1,6 @@
 //! wctype implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/wctype.h.html
 
-use platform::types::*;
+use crate::platform::types::*;
 
 // #[no_mangle]
 pub extern "C" fn iswalnum(wc: wint_t) -> c_int {
diff --git a/src/header/arpa_inet/mod.rs b/src/header/arpa_inet/mod.rs
index becf5336..0b1cac2a 100644
--- a/src/header/arpa_inet/mod.rs
+++ b/src/header/arpa_inet/mod.rs
@@ -3,13 +3,13 @@
 use core::str::FromStr;
 use core::{ptr, slice, str};
 
-use c_str::CStr;
-use header::errno::*;
-use header::netinet_in::{in_addr, in_addr_t, INADDR_NONE};
-use header::sys_socket::constants::*;
-use header::sys_socket::socklen_t;
-use platform;
-use platform::types::*;
+use crate::c_str::CStr;
+use crate::header::errno::*;
+use crate::header::netinet_in::{in_addr, in_addr_t, INADDR_NONE};
+use crate::header::sys_socket::constants::*;
+use crate::header::sys_socket::socklen_t;
+use crate::platform;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub extern "C" fn htonl(hostlong: u32) -> u32 {
diff --git a/src/header/assert/mod.rs b/src/header/assert/mod.rs
index 8a073bb5..82d8d6ee 100644
--- a/src/header/assert/mod.rs
+++ b/src/header/assert/mod.rs
@@ -1,9 +1,9 @@
 //! assert implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/assert.h.html
 
-use c_str::CStr;
+use crate::c_str::CStr;
 use core::fmt::Write;
-use header::{stdio, stdlib};
-use platform::types::*;
+use crate::header::{stdio, stdlib};
+use crate::platform::types::*;
 
 #[no_mangle]
 pub unsafe extern "C" fn __assert_fail(
diff --git a/src/header/ctype/mod.rs b/src/header/ctype/mod.rs
index 92aa17ca..eff8ba3e 100644
--- a/src/header/ctype/mod.rs
+++ b/src/header/ctype/mod.rs
@@ -1,6 +1,6 @@
 //! ctype implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/ctype.h.html
 
-use platform::types::*;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub extern "C" fn isalnum(c: c_int) -> c_int {
diff --git a/src/header/dirent/mod.rs b/src/header/dirent/mod.rs
index e0f9eb26..a741c862 100644
--- a/src/header/dirent/mod.rs
+++ b/src/header/dirent/mod.rs
@@ -3,14 +3,14 @@
 use alloc::boxed::Box;
 use core::{mem, ptr};
 
-use c_str::CStr;
-use c_vec::CVec;
-use fs::File;
-use header::{errno, fcntl, stdlib, string};
-use io::{Seek, SeekFrom};
-use platform::types::*;
-use platform::{Pal, Sys};
-use platform;
+use crate::c_str::CStr;
+use crate::c_vec::CVec;
+use crate::fs::File;
+use crate::header::{errno, fcntl, stdlib, string};
+use crate::io::{Seek, SeekFrom};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
+use crate::platform;
 
 const DIR_BUF_SIZE: usize = mem::size_of::<dirent>() * 3;
 
diff --git a/src/header/dl-tls/mod.rs b/src/header/dl-tls/mod.rs
index 62f67cfc..bf7b2d4b 100644
--- a/src/header/dl-tls/mod.rs
+++ b/src/header/dl-tls/mod.rs
@@ -1,7 +1,7 @@
 //! dl-tls implementation for Redox
 
-use ld_so::tcb::Tcb;
-use platform::types::*;
+use crate::ld_so::tcb::Tcb;
+use crate::platform::types::*;
 
 #[repr(C)]
 pub struct dl_tls_index {
diff --git a/src/header/dlfcn/mod.rs b/src/header/dlfcn/mod.rs
index f0c895fb..76fdcd39 100644
--- a/src/header/dlfcn/mod.rs
+++ b/src/header/dlfcn/mod.rs
@@ -3,8 +3,8 @@
 use core::sync::atomic::{AtomicUsize, Ordering};
 use core::{ptr, str};
 
-use c_str::CStr;
-use platform::types::*;
+use crate::c_str::CStr;
+use crate::platform::types::*;
 
 pub const RTLD_LAZY: c_int = 0x0001;
 pub const RTLD_NOW: c_int = 0x0002;
diff --git a/src/header/errno/mod.rs b/src/header/errno/mod.rs
index a203373b..e7a376f4 100644
--- a/src/header/errno/mod.rs
+++ b/src/header/errno/mod.rs
@@ -1,7 +1,7 @@
 //! errno implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/errno.h.html
 
-use platform;
-use platform::types::*;
+use crate::platform;
+use crate::platform::types::*;
 
 //TODO: Consider removing, provided for compatibility with newlib
 #[no_mangle]
diff --git a/src/header/fcntl/linux.rs b/src/header/fcntl/linux.rs
index ae1bcc97..0779a7ed 100644
--- a/src/header/fcntl/linux.rs
+++ b/src/header/fcntl/linux.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const O_RDONLY: c_int = 0x0000;
 pub const O_WRONLY: c_int = 0x0001;
diff --git a/src/header/fcntl/mod.rs b/src/header/fcntl/mod.rs
index 1946c6be..0aba2606 100644
--- a/src/header/fcntl/mod.rs
+++ b/src/header/fcntl/mod.rs
@@ -1,8 +1,8 @@
 //! fcntl implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/fcntl.h.html
 
-use c_str::CStr;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub use self::sys::*;
 
diff --git a/src/header/fcntl/redox.rs b/src/header/fcntl/redox.rs
index d8847aee..fc72796d 100644
--- a/src/header/fcntl/redox.rs
+++ b/src/header/fcntl/redox.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const O_RDONLY: c_int = 0x0001_0000;
 pub const O_WRONLY: c_int = 0x0002_0000;
diff --git a/src/header/float/mod.rs b/src/header/float/mod.rs
index 599ced2c..d429fc8d 100644
--- a/src/header/float/mod.rs
+++ b/src/header/float/mod.rs
@@ -1,8 +1,8 @@
 //! float.h implementation for Redox, following
 //! http://pubs.opengroup.org/onlinepubs/7908799/xsh/float.h.html
 
-use header::_fenv::{fegetround, FE_TONEAREST};
-use platform::types::*;
+use crate::header::_fenv::{fegetround, FE_TONEAREST};
+use crate::platform::types::*;
 
 pub const FLT_RADIX: c_int = 2;
 
diff --git a/src/header/fnmatch/mod.rs b/src/header/fnmatch/mod.rs
index 92141b5a..4197b019 100644
--- a/src/header/fnmatch/mod.rs
+++ b/src/header/fnmatch/mod.rs
@@ -4,7 +4,7 @@ use alloc::borrow::Cow;
 use alloc::vec::Vec;
 use core::slice;
 
-use platform::types::*;
+use crate::platform::types::*;
 use posix_regex::compile::{Collation, Range, Token};
 use posix_regex::PosixRegex;
 
diff --git a/src/header/getopt/mod.rs b/src/header/getopt/mod.rs
index 9739260d..541c8362 100644
--- a/src/header/getopt/mod.rs
+++ b/src/header/getopt/mod.rs
@@ -1,9 +1,9 @@
 //! getopt implementation for relibc
 
 use core::ptr;
-use header::unistd::{optarg, opterr, optind, optopt};
-use header::{stdio, string};
-use platform::types::*;
+use crate::header::unistd::{optarg, opterr, optind, optopt};
+use crate::header::{stdio, string};
+use crate::platform::types::*;
 
 static mut CURRENT_OPT: *mut c_char = ptr::null_mut();
 
diff --git a/src/header/grp/mod.rs b/src/header/grp/mod.rs
index b0fcd33c..6c5b0c16 100644
--- a/src/header/grp/mod.rs
+++ b/src/header/grp/mod.rs
@@ -1,6 +1,6 @@
 //! grp implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/grp.h.html
 
-use platform::types::*;
+use crate::platform::types::*;
 
 #[repr(C)]
 pub struct group {
diff --git a/src/header/inttypes/mod.rs b/src/header/inttypes/mod.rs
index a418d0f9..a568ecee 100644
--- a/src/header/inttypes/mod.rs
+++ b/src/header/inttypes/mod.rs
@@ -1,8 +1,8 @@
-use header::ctype;
-use header::errno::*;
-use header::stdlib::*;
-use platform;
-use platform::types::*;
+use crate::header::ctype;
+use crate::header::errno::*;
+use crate::header::stdlib::*;
+use crate::platform;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub extern "C" fn imaxabs(i: intmax_t) -> intmax_t {
diff --git a/src/header/libgen/mod.rs b/src/header/libgen/mod.rs
index 5879603d..5117282f 100644
--- a/src/header/libgen/mod.rs
+++ b/src/header/libgen/mod.rs
@@ -1,8 +1,8 @@
 //! libgen implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/libgen.h.html
 
-use platform::types::c_char;
+use crate::platform::types::c_char;
 
-use header::string::strlen;
+use crate::header::string::strlen;
 
 #[no_mangle]
 pub unsafe extern "C" fn basename(str: *mut c_char) -> *mut c_char {
diff --git a/src/header/locale/mod.rs b/src/header/locale/mod.rs
index d3a03c74..7697c446 100644
--- a/src/header/locale/mod.rs
+++ b/src/header/locale/mod.rs
@@ -2,7 +2,7 @@
 
 use core::ptr;
 
-use platform::types::*;
+use crate::platform::types::*;
 
 const EMPTY_PTR: *const c_char = "\0" as *const _ as *const c_char;
 // Can't use &str because of the mutability
diff --git a/src/header/netdb/host.rs b/src/header/netdb/host.rs
index f6ba6306..e5db6d80 100644
--- a/src/header/netdb/host.rs
+++ b/src/header/netdb/host.rs
@@ -3,15 +3,15 @@ use alloc::str::SplitWhitespace;
 use alloc::vec::Vec;
 use core::{mem, ptr};
 
-use c_str::CString;
-use header::arpa_inet::inet_aton;
-use header::fcntl::O_RDONLY;
-use header::netinet_in::in_addr;
-use header::sys_socket::constants::AF_INET;
-use header::unistd::SEEK_SET;
-use platform::rlb::{Line, RawLineBuffer};
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CString;
+use crate::header::arpa_inet::inet_aton;
+use crate::header::fcntl::O_RDONLY;
+use crate::header::netinet_in::in_addr;
+use crate::header::sys_socket::constants::AF_INET;
+use crate::header::unistd::SEEK_SET;
+use crate::platform::rlb::{Line, RawLineBuffer};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 use super::{bytes_to_box_str, hostent};
 
diff --git a/src/header/netdb/linux.rs b/src/header/netdb/linux.rs
index 60b64914..85126fba 100644
--- a/src/header/netdb/linux.rs
+++ b/src/header/netdb/linux.rs
@@ -1,8 +1,8 @@
 use alloc::string::String;
-use c_str::CString;
-use fs::File;
-use header::fcntl;
-use io::{BufRead, BufReader};
+use crate::c_str::CString;
+use crate::fs::File;
+use crate::header::fcntl;
+use crate::io::{BufRead, BufReader};
 
 pub fn get_dns_server() -> String {
     let file = match File::open(&CString::new("/etc/resolv.conf").unwrap(), fcntl::O_RDONLY) {
diff --git a/src/header/netdb/lookup.rs b/src/header/netdb/lookup.rs
index fbf60d7f..84e4c4c1 100644
--- a/src/header/netdb/lookup.rs
+++ b/src/header/netdb/lookup.rs
@@ -3,17 +3,17 @@ use alloc::string::{String, ToString};
 use alloc::vec::{IntoIter, Vec};
 use core::mem;
 
-use platform::types::*;
-use platform::{Pal, Sys};
-
-use header::arpa_inet::htons;
-use header::errno::*;
-use header::netinet_in::{in_addr, sockaddr_in, IPPROTO_UDP};
-use header::sys_socket;
-use header::sys_socket::constants::{AF_INET, SOCK_DGRAM};
-use header::sys_socket::{sockaddr, socklen_t};
-use header::time;
-use header::time::timespec;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
+
+use crate::header::arpa_inet::htons;
+use crate::header::errno::*;
+use crate::header::netinet_in::{in_addr, sockaddr_in, IPPROTO_UDP};
+use crate::header::sys_socket;
+use crate::header::sys_socket::constants::{AF_INET, SOCK_DGRAM};
+use crate::header::sys_socket::{sockaddr, socklen_t};
+use crate::header::time;
+use crate::header::time::timespec;
 
 use super::dns::{Dns, DnsQuery};
 use super::sys::get_dns_server;
diff --git a/src/header/netdb/mod.rs b/src/header/netdb/mod.rs
index 504aee20..78141104 100644
--- a/src/header/netdb/mod.rs
+++ b/src/header/netdb/mod.rs
@@ -10,20 +10,20 @@ use alloc::boxed::Box;
 use alloc::str::SplitWhitespace;
 use alloc::vec::Vec;
 
-use c_str::{CStr, CString};
-use header::arpa_inet::htons;
-use header::errno::*;
-use header::fcntl::O_RDONLY;
-use header::netinet_in::{in_addr, sockaddr_in, sockaddr_in6};
-use header::stdlib::atoi;
-use header::strings::strcasecmp;
-use header::sys_socket::constants::AF_INET;
-use header::sys_socket::{sa_family_t, sockaddr, socklen_t};
-use header::unistd::SEEK_SET;
-use platform;
-use platform::rlb::{Line, RawLineBuffer};
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::{CStr, CString};
+use crate::header::arpa_inet::htons;
+use crate::header::errno::*;
+use crate::header::fcntl::O_RDONLY;
+use crate::header::netinet_in::{in_addr, sockaddr_in, sockaddr_in6};
+use crate::header::stdlib::atoi;
+use crate::header::strings::strcasecmp;
+use crate::header::sys_socket::constants::AF_INET;
+use crate::header::sys_socket::{sa_family_t, sockaddr, socklen_t};
+use crate::header::unistd::SEEK_SET;
+use crate::platform;
+use crate::platform::rlb::{Line, RawLineBuffer};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 #[cfg(target_os = "linux")]
 #[path = "linux.rs"]
diff --git a/src/header/netdb/redox.rs b/src/header/netdb/redox.rs
index 4d813957..a6604d13 100644
--- a/src/header/netdb/redox.rs
+++ b/src/header/netdb/redox.rs
@@ -1,8 +1,8 @@
 use alloc::string::String;
-use c_str::CString;
-use fs::File;
-use header::fcntl;
-use io::Read;
+use crate::c_str::CString;
+use crate::fs::File;
+use crate::header::fcntl;
+use crate::io::Read;
 
 pub fn get_dns_server() -> String {
     let mut string = String::new();
diff --git a/src/header/netinet_in/mod.rs b/src/header/netinet_in/mod.rs
index 807f5534..4f7a109a 100644
--- a/src/header/netinet_in/mod.rs
+++ b/src/header/netinet_in/mod.rs
@@ -1,7 +1,7 @@
 #![allow(non_camel_case_types)]
 
-use header::sys_socket::sa_family_t;
-use platform::types::*;
+use crate::header::sys_socket::sa_family_t;
+use crate::platform::types::*;
 
 pub type in_addr_t = u32;
 pub type in_port_t = u16;
diff --git a/src/header/netinet_tcp/mod.rs b/src/header/netinet_tcp/mod.rs
index fce0afc7..f3694c62 100644
--- a/src/header/netinet_tcp/mod.rs
+++ b/src/header/netinet_tcp/mod.rs
@@ -1,3 +1,3 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const TCP_NODELAY: c_int = 1;
diff --git a/src/header/poll/mod.rs b/src/header/poll/mod.rs
index 0ca50347..40b67843 100644
--- a/src/header/poll/mod.rs
+++ b/src/header/poll/mod.rs
@@ -2,11 +2,11 @@
 
 use core::{mem, slice};
 
-use fs::File;
-use header::sys_epoll::{epoll_create1, epoll_ctl, epoll_data, epoll_event, epoll_wait, EPOLLERR,
+use crate::fs::File;
+use crate::header::sys_epoll::{epoll_create1, epoll_ctl, epoll_data, epoll_event, epoll_wait, EPOLLERR,
                         EPOLLHUP, EPOLLIN, EPOLLNVAL, EPOLLOUT, EPOLLPRI, EPOLL_CLOEXEC,
                         EPOLL_CTL_ADD};
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const POLLIN: c_short = 0x001;
 pub const POLLPRI: c_short = 0x002;
diff --git a/src/header/pwd/mod.rs b/src/header/pwd/mod.rs
index dc7e0aab..c9d9ee8d 100644
--- a/src/header/pwd/mod.rs
+++ b/src/header/pwd/mod.rs
@@ -2,11 +2,11 @@
 
 use core::ptr;
 
-use fs::File;
-use header::{errno, fcntl};
-use io::{BufRead, BufReader};
-use platform;
-use platform::types::*;
+use crate::fs::File;
+use crate::header::{errno, fcntl};
+use crate::io::{BufRead, BufReader};
+use crate::platform;
+use crate::platform::types::*;
 
 #[cfg(target_os = "linux")]
 mod linux;
diff --git a/src/header/regex/mod.rs b/src/header/regex/mod.rs
index f7876783..1d5b5707 100644
--- a/src/header/regex/mod.rs
+++ b/src/header/regex/mod.rs
@@ -3,8 +3,8 @@
 use alloc::borrow::Cow;
 use alloc::vec::Vec;
 use core::{mem, ptr, slice};
-use header::string::strlen;
-use platform::types::*;
+use crate::header::string::strlen;
+use crate::platform::types::*;
 use posix_regex::compile::{Error as CompileError, Range, Token};
 use posix_regex::{PosixRegex, PosixRegexBuilder};
 
diff --git a/src/header/semaphore/mod.rs b/src/header/semaphore/mod.rs
index f1331a43..505d6eba 100644
--- a/src/header/semaphore/mod.rs
+++ b/src/header/semaphore/mod.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 #[repr(C)]
 #[derive(Copy)]
diff --git a/src/header/sgtty/mod.rs b/src/header/sgtty/mod.rs
index 6d474daa..67eb3c97 100644
--- a/src/header/sgtty/mod.rs
+++ b/src/header/sgtty/mod.rs
@@ -1,7 +1,7 @@
 //! sgtty implementation that won't work on redox because no ioctl
 
-use header::sys_ioctl::*;
-use platform::types::*;
+use crate::header::sys_ioctl::*;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub extern "C" fn gtty(fd: c_int, out: *mut sgttyb) -> c_int {
diff --git a/src/header/signal/mod.rs b/src/header/signal/mod.rs
index 49db58cb..c8d6c0e7 100644
--- a/src/header/signal/mod.rs
+++ b/src/header/signal/mod.rs
@@ -4,10 +4,10 @@ use core::{mem, ptr};
 
 use cbitset::BitSet;
 
-use header::errno;
-use platform;
-use platform::types::*;
-use platform::{PalSignal, Sys};
+use crate::header::errno;
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{PalSignal, Sys};
 
 pub use self::sys::*;
 
diff --git a/src/header/stdio/constants.rs b/src/header/stdio/constants.rs
index 61322e1c..0d4346d9 100644
--- a/src/header/stdio/constants.rs
+++ b/src/header/stdio/constants.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const EOF: c_int = -1;
 pub const BUFSIZ: c_int = 1024;
diff --git a/src/header/stdio/default.rs b/src/header/stdio/default.rs
index ceae34bd..afb57dc7 100644
--- a/src/header/stdio/default.rs
+++ b/src/header/stdio/default.rs
@@ -2,10 +2,10 @@ use super::{constants, Buffer, BUFSIZ, FILE};
 use core::cell::UnsafeCell;
 use core::ptr;
 
-use fs::File;
-use io::LineWriter;
-use platform::types::*;
-use sync::Mutex;
+use crate::fs::File;
+use crate::io::LineWriter;
+use crate::platform::types::*;
+use crate::sync::Mutex;
 
 pub struct GlobalFile(UnsafeCell<FILE>);
 impl GlobalFile {
diff --git a/src/header/stdio/ext.rs b/src/header/stdio/ext.rs
index 35ad92ee..b66eb42f 100644
--- a/src/header/stdio/ext.rs
+++ b/src/header/stdio/ext.rs
@@ -1,5 +1,5 @@
-use header::stdio::{FILE, F_NORD, F_NOWR};
-use platform::types::*;
+use crate::header::stdio::{FILE, F_NORD, F_NOWR};
+use crate::platform::types::*;
 
 #[no_mangle]
 pub extern "C" fn __fpending(stream: *mut FILE) -> size_t {
diff --git a/src/header/stdio/getdelim.rs b/src/header/stdio/getdelim.rs
index 5778504e..ff273c92 100644
--- a/src/header/stdio/getdelim.rs
+++ b/src/header/stdio/getdelim.rs
@@ -1,10 +1,10 @@
 use alloc::vec::Vec;
 use core::ptr;
 
-use header::stdio::FILE;
-use header::stdlib;
-use io::BufRead;
-use platform::types::*;
+use crate::header::stdio::FILE;
+use crate::header::stdlib;
+use crate::io::BufRead;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub unsafe extern "C" fn __getline(
diff --git a/src/header/stdio/helpers.rs b/src/header/stdio/helpers.rs
index 0b5c80a0..66743908 100644
--- a/src/header/stdio/helpers.rs
+++ b/src/header/stdio/helpers.rs
@@ -1,13 +1,13 @@
 use alloc::boxed::Box;
 
-use fs::File;
-use header::errno;
-use header::fcntl::*;
-use header::string::strchr;
-use io::LineWriter;
-use platform;
-use platform::types::*;
-use sync::Mutex;
+use crate::fs::File;
+use crate::header::errno;
+use crate::header::fcntl::*;
+use crate::header::string::strchr;
+use crate::io::LineWriter;
+use crate::platform;
+use crate::platform::types::*;
+use crate::sync::Mutex;
 
 use super::constants::*;
 use super::{Buffer, FILE};
diff --git a/src/header/stdio/mod.rs b/src/header/stdio/mod.rs
index c5b8e932..683753d9 100644
--- a/src/header/stdio/mod.rs
+++ b/src/header/stdio/mod.rs
@@ -8,17 +8,17 @@ use core::fmt::Write as WriteFmt;
 use core::ops::{Deref, DerefMut};
 use core::{fmt, mem, ptr, slice, str};
 
-use c_str::CStr;
-use fs::File;
-use header::errno::{self, STR_ERROR};
-use header::string::{self, strlen};
-use header::{fcntl, stdlib, unistd};
-use io::{self, BufRead, LineWriter, Read, Write};
-use platform;
-use platform::types::*;
-use platform::{errno, WriteByte};
-use platform::{Pal, Sys};
-use sync::Mutex;
+use crate::c_str::CStr;
+use crate::fs::File;
+use crate::header::errno::{self, STR_ERROR};
+use crate::header::string::{self, strlen};
+use crate::header::{fcntl, stdlib, unistd};
+use crate::io::{self, BufRead, LineWriter, Read, Write};
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{errno, WriteByte};
+use crate::platform::{Pal, Sys};
+use crate::sync::Mutex;
 
 pub use self::constants::*;
 mod constants;
diff --git a/src/header/stdio/printf.rs b/src/header/stdio/printf.rs
index ed9144a1..dfd1fb48 100644
--- a/src/header/stdio/printf.rs
+++ b/src/header/stdio/printf.rs
@@ -5,7 +5,7 @@ use alloc::vec::Vec;
 use core::ffi::VaList;
 use core::ops::Range;
 use core::{char, cmp, f64, fmt, slice};
-use io::{self, Write};
+use crate::io::{self, Write};
 
 use crate::header::errno::EILSEQ;
 use crate::platform::types::*;
diff --git a/src/header/stdio/scanf.rs b/src/header/stdio/scanf.rs
index 1d3d5e21..0475cfec 100644
--- a/src/header/stdio/scanf.rs
+++ b/src/header/stdio/scanf.rs
@@ -1,8 +1,8 @@
 use alloc::string::String;
 use alloc::vec::Vec;
 use core::ffi::VaList as va_list;
-use io::Read;
-use platform::types::*;
+use crate::io::Read;
+use crate::platform::types::*;
 
 #[derive(PartialEq, Eq)]
 enum IntKind {
diff --git a/src/header/stdlib/lcg48.rs b/src/header/stdlib/lcg48.rs
index a425110b..d41cb345 100644
--- a/src/header/stdlib/lcg48.rs
+++ b/src/header/stdlib/lcg48.rs
@@ -1,6 +1,6 @@
 //! Helper functions for pseudorandom number generation using LCG, see https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/functions/drand48.html
 
-use platform::types::*;
+use crate::platform::types::*;
 
 /* The default element buffer for the linear congruential generator's
  * sequence. Implemented using a c_ushort array for consistency between
diff --git a/src/header/stdlib/mod.rs b/src/header/stdlib/mod.rs
index f5c5ea60..186833cb 100644
--- a/src/header/stdlib/mod.rs
+++ b/src/header/stdlib/mod.rs
@@ -7,20 +7,20 @@ use rand::prng::XorShiftRng;
 use rand::rngs::JitterRng;
 use rand::{Rng, SeedableRng};
 
-use c_str::CStr;
-use fs::File;
-use header::errno::*;
-use header::fcntl::*;
-use header::limits;
-use header::string::*;
-use header::time::constants::CLOCK_MONOTONIC;
-use header::time::timespec;
-use header::unistd::{sysconf, _SC_PAGESIZE};
-use header::wchar::*;
-use header::{ctype, errno, unistd};
-use platform;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::fs::File;
+use crate::header::errno::*;
+use crate::header::fcntl::*;
+use crate::header::limits;
+use crate::header::string::*;
+use crate::header::time::constants::CLOCK_MONOTONIC;
+use crate::header::time::timespec;
+use crate::header::unistd::{sysconf, _SC_PAGESIZE};
+use crate::header::wchar::*;
+use crate::header::{ctype, errno, unistd};
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 mod lcg48;
 mod sort;
diff --git a/src/header/stdlib/sort.rs b/src/header/stdlib/sort.rs
index 24631746..60506d6d 100644
--- a/src/header/stdlib/sort.rs
+++ b/src/header/stdlib/sort.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub fn introsort(
     base: *mut c_char,
diff --git a/src/header/string/mod.rs b/src/header/string/mod.rs
index e8fd84d5..d9dba536 100644
--- a/src/header/string/mod.rs
+++ b/src/header/string/mod.rs
@@ -4,10 +4,10 @@ use core::{mem, ptr, slice, usize};
 
 use cbitset::BitSet256;
 
-use header::errno::*;
-use header::signal;
-use platform;
-use platform::types::*;
+use crate::header::errno::*;
+use crate::header::signal;
+use crate::platform;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub unsafe extern "C" fn memccpy(
diff --git a/src/header/strings/mod.rs b/src/header/strings/mod.rs
index a0fb773e..b4beb800 100644
--- a/src/header/strings/mod.rs
+++ b/src/header/strings/mod.rs
@@ -2,8 +2,8 @@
 
 use core::ptr;
 
-use header::{ctype, string};
-use platform::types::*;
+use crate::header::{ctype, string};
+use crate::platform::types::*;
 
 #[no_mangle]
 pub unsafe extern "C" fn bcmp(first: *const c_void, second: *const c_void, n: size_t) -> c_int {
diff --git a/src/header/sys_auxv/mod.rs b/src/header/sys_auxv/mod.rs
index be95453e..3e191883 100644
--- a/src/header/sys_auxv/mod.rs
+++ b/src/header/sys_auxv/mod.rs
@@ -1,6 +1,6 @@
 //! sys/auxv.h implementation
 
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const AT_HWCAP: usize = 16;
 
diff --git a/src/header/sys_epoll/linux.rs b/src/header/sys_epoll/linux.rs
index 654d4ff5..4f17c0c1 100644
--- a/src/header/sys_epoll/linux.rs
+++ b/src/header/sys_epoll/linux.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const EPOLL_CLOEXEC: c_int = 0x8_0000;
 
diff --git a/src/header/sys_epoll/mod.rs b/src/header/sys_epoll/mod.rs
index f868d566..74e9f500 100644
--- a/src/header/sys_epoll/mod.rs
+++ b/src/header/sys_epoll/mod.rs
@@ -2,9 +2,9 @@
 
 use core::ptr;
 
-use header::signal::sigset_t;
-use platform::types::*;
-use platform::{PalEpoll, Sys};
+use crate::header::signal::sigset_t;
+use crate::platform::types::*;
+use crate::platform::{PalEpoll, Sys};
 
 pub use self::sys::*;
 
diff --git a/src/header/sys_epoll/redox.rs b/src/header/sys_epoll/redox.rs
index d1172fbb..ecba6a39 100644
--- a/src/header/sys_epoll/redox.rs
+++ b/src/header/sys_epoll/redox.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const EPOLL_CLOEXEC: c_int = 0x0100_0000;
 
diff --git a/src/header/sys_file/mod.rs b/src/header/sys_file/mod.rs
index 80a99855..10a41f64 100644
--- a/src/header/sys_file/mod.rs
+++ b/src/header/sys_file/mod.rs
@@ -1,7 +1,7 @@
 //! sys/file.h implementation
 
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub const LOCK_SH: usize = 1;
 pub const LOCK_EX: usize = 2;
diff --git a/src/header/sys_ioctl/linux.rs b/src/header/sys_ioctl/linux.rs
index e5f39c68..8f6cd210 100644
--- a/src/header/sys_ioctl/linux.rs
+++ b/src/header/sys_ioctl/linux.rs
@@ -1,5 +1,5 @@
-use platform::types::*;
-use platform::Sys;
+use crate::platform::types::*;
+use crate::platform::Sys;
 
 #[no_mangle]
 pub unsafe extern "C" fn ioctl(fd: c_int, request: c_ulong, out: *mut c_void) -> c_int {
diff --git a/src/header/sys_ioctl/mod.rs b/src/header/sys_ioctl/mod.rs
index ee5a6080..54d5f29a 100644
--- a/src/header/sys_ioctl/mod.rs
+++ b/src/header/sys_ioctl/mod.rs
@@ -1,6 +1,6 @@
 //! ioctl implementation for linux
 
-use platform::types::*;
+use crate::platform::types::*;
 
 // This is used from sgtty
 #[repr(C)]
diff --git a/src/header/sys_ioctl/redox.rs b/src/header/sys_ioctl/redox.rs
index 005a4d73..5b489d78 100644
--- a/src/header/sys_ioctl/redox.rs
+++ b/src/header/sys_ioctl/redox.rs
@@ -1,11 +1,11 @@
 use core::{mem, slice};
 use syscall;
 
-use header::errno;
-use header::termios;
-use platform;
-use platform::e;
-use platform::types::*;
+use crate::header::errno;
+use crate::header::termios;
+use crate::platform;
+use crate::platform::e;
+use crate::platform::types::*;
 
 use super::winsize;
 
diff --git a/src/header/sys_mman/linux.rs b/src/header/sys_mman/linux.rs
index f034963e..43e04de5 100644
--- a/src/header/sys_mman/linux.rs
+++ b/src/header/sys_mman/linux.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const PROT_READ: c_int = 0x0001;
 pub const PROT_WRITE: c_int = 0x0002;
diff --git a/src/header/sys_mman/mod.rs b/src/header/sys_mman/mod.rs
index b3949b78..87b6349c 100644
--- a/src/header/sys_mman/mod.rs
+++ b/src/header/sys_mman/mod.rs
@@ -1,7 +1,7 @@
-use c_str::{CStr, CString};
-use header::{fcntl, unistd};
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::{CStr, CString};
+use crate::header::{fcntl, unistd};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub use self::sys::*;
 
diff --git a/src/header/sys_mman/redox.rs b/src/header/sys_mman/redox.rs
index 28c5d3b9..c58f53fe 100644
--- a/src/header/sys_mman/redox.rs
+++ b/src/header/sys_mman/redox.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const PROT_NONE: c_int = 0x0000;
 pub const PROT_EXEC: c_int = 0x0001;
diff --git a/src/header/sys_ptrace/mod.rs b/src/header/sys_ptrace/mod.rs
index 9a54c072..0cc45363 100644
--- a/src/header/sys_ptrace/mod.rs
+++ b/src/header/sys_ptrace/mod.rs
@@ -1,8 +1,8 @@
 //! ptrace compatibility layer for Redox OS
 
 use core::ffi::VaList;
-use platform::types::*;
-use platform::{PalPtrace, Sys};
+use crate::platform::types::*;
+use crate::platform::{PalPtrace, Sys};
 
 pub const PTRACE_TRACEME: c_int = 0;
 pub const PTRACE_PEEKTEXT: c_int = 1;
diff --git a/src/header/sys_select/mod.rs b/src/header/sys_select/mod.rs
index 79869a82..1fdb18fd 100644
--- a/src/header/sys_select/mod.rs
+++ b/src/header/sys_select/mod.rs
@@ -4,13 +4,13 @@ use core::mem;
 
 use cbitset::BitSet;
 
-use fs::File;
-use header::errno;
-use header::sys_epoll::{epoll_create1, epoll_ctl, epoll_data, epoll_event, epoll_wait, EPOLLERR,
+use crate::fs::File;
+use crate::header::errno;
+use crate::header::sys_epoll::{epoll_create1, epoll_ctl, epoll_data, epoll_event, epoll_wait, EPOLLERR,
                         EPOLLIN, EPOLLOUT, EPOLL_CLOEXEC, EPOLL_CTL_ADD};
-use header::sys_time::timeval;
-use platform;
-use platform::types::*;
+use crate::header::sys_time::timeval;
+use crate::platform;
+use crate::platform::types::*;
 
 // fd_set is also defined in C because cbindgen is incompatible with mem::size_of booo
 
diff --git a/src/header/sys_socket/constants.rs b/src/header/sys_socket/constants.rs
index 25ff27da..4e24e661 100644
--- a/src/header/sys_socket/constants.rs
+++ b/src/header/sys_socket/constants.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const SOCK_STREAM: c_int = 1;
 pub const SOCK_DGRAM: c_int = 2;
diff --git a/src/header/sys_socket/mod.rs b/src/header/sys_socket/mod.rs
index 4cb44cdd..34fff281 100644
--- a/src/header/sys_socket/mod.rs
+++ b/src/header/sys_socket/mod.rs
@@ -2,8 +2,8 @@
 
 use core::ptr;
 
-use platform::types::*;
-use platform::{PalSocket, Sys};
+use crate::platform::types::*;
+use crate::platform::{PalSocket, Sys};
 
 pub mod constants;
 
diff --git a/src/header/sys_stat/mod.rs b/src/header/sys_stat/mod.rs
index b858add0..f68a8de5 100644
--- a/src/header/sys_stat/mod.rs
+++ b/src/header/sys_stat/mod.rs
@@ -1,10 +1,10 @@
 //! stat implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html
 
-use c_str::CStr;
-use header::fcntl::{O_NOFOLLOW, O_PATH};
-use header::time::timespec;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::header::fcntl::{O_NOFOLLOW, O_PATH};
+use crate::header::time::timespec;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub const S_IFMT: c_int = 0o0_170_000;
 
diff --git a/src/header/sys_statvfs/mod.rs b/src/header/sys_statvfs/mod.rs
index 6da8f6e4..21f6661b 100644
--- a/src/header/sys_statvfs/mod.rs
+++ b/src/header/sys_statvfs/mod.rs
@@ -1,9 +1,9 @@
 //! statvfs implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstatvfs.h.html
 
-use c_str::CStr;
-use header::fcntl::O_PATH;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::header::fcntl::O_PATH;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 //pub const ST_RDONLY
 //pub const ST_NOSUID
diff --git a/src/header/sys_time/mod.rs b/src/header/sys_time/mod.rs
index c961a7a4..6a53f138 100644
--- a/src/header/sys_time/mod.rs
+++ b/src/header/sys_time/mod.rs
@@ -1,9 +1,9 @@
 //! sys/time implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/systime.h.html
 
-use c_str::CStr;
-use header::time::timespec;
-use platform::types::*;
-use platform::{Pal, PalSignal, Sys};
+use crate::c_str::CStr;
+use crate::header::time::timespec;
+use crate::platform::types::*;
+use crate::platform::{Pal, PalSignal, Sys};
 
 pub const ITIMER_REAL: c_int = 0;
 pub const ITIMER_VIRTUAL: c_int = 1;
diff --git a/src/header/sys_timeb/mod.rs b/src/header/sys_timeb/mod.rs
index b3b6713a..1b7291d5 100644
--- a/src/header/sys_timeb/mod.rs
+++ b/src/header/sys_timeb/mod.rs
@@ -1,7 +1,7 @@
 //! sys/time implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/systime.h.html
 
-use header::sys_time::{gettimeofday, timeval, timezone};
-use platform::types::*;
+use crate::header::sys_time::{gettimeofday, timeval, timezone};
+use crate::platform::types::*;
 
 #[repr(C)]
 #[derive(Default)]
diff --git a/src/header/sys_uio/mod.rs b/src/header/sys_uio/mod.rs
index 2beda033..baee6314 100644
--- a/src/header/sys_uio/mod.rs
+++ b/src/header/sys_uio/mod.rs
@@ -3,9 +3,9 @@
 use alloc::vec::Vec;
 use core::slice;
 
-use header::{errno, unistd};
-use platform;
-use platform::types::*;
+use crate::header::{errno, unistd};
+use crate::platform;
+use crate::platform::types::*;
 
 pub const IOV_MAX: c_int = 1024;
 
diff --git a/src/header/sys_un/mod.rs b/src/header/sys_un/mod.rs
index 41f55107..86ebd4c4 100644
--- a/src/header/sys_un/mod.rs
+++ b/src/header/sys_un/mod.rs
@@ -1,5 +1,5 @@
-use header::sys_socket::sa_family_t;
-use platform::types::*;
+use crate::header::sys_socket::sa_family_t;
+use crate::platform::types::*;
 
 #[repr(C)]
 pub struct sockaddr_un {
diff --git a/src/header/sys_user/mod.rs b/src/header/sys_user/mod.rs
index 2af4f492..37ef1554 100644
--- a/src/header/sys_user/mod.rs
+++ b/src/header/sys_user/mod.rs
@@ -1,6 +1,6 @@
 //! A part of the ptrace compatibility for Redox OS
 
-use platform::types::*;
+use crate::platform::types::*;
 
 #[repr(C)]
 pub struct user_fpregs_struct {
diff --git a/src/header/sys_utsname/mod.rs b/src/header/sys_utsname/mod.rs
index db7168cc..ce4c1829 100644
--- a/src/header/sys_utsname/mod.rs
+++ b/src/header/sys_utsname/mod.rs
@@ -1,7 +1,7 @@
 //! sys/utsname implementation, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysutsname.h.html
 
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub const UTSLENGTH: usize = 65;
 
diff --git a/src/header/sys_wait/mod.rs b/src/header/sys_wait/mod.rs
index 903c7482..d96d1c4c 100644
--- a/src/header/sys_wait/mod.rs
+++ b/src/header/sys_wait/mod.rs
@@ -2,8 +2,8 @@
 //! http://pubs.opengroup.org/onlinepubs/7908799/xsh/syswait.h.html
 
 //use header::sys_resource::rusage;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub const WNOHANG: c_int = 1;
 pub const WUNTRACED: c_int = 2;
diff --git a/src/header/termios/mod.rs b/src/header/termios/mod.rs
index 3172646f..a304fdaf 100644
--- a/src/header/termios/mod.rs
+++ b/src/header/termios/mod.rs
@@ -1,9 +1,9 @@
 //! termios implementation, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/termios.h.html
 
-use header::errno;
-use header::sys_ioctl;
-use platform;
-use platform::types::*;
+use crate::header::errno;
+use crate::header::sys_ioctl;
+use crate::platform;
+use crate::platform::types::*;
 
 pub type cc_t = u8;
 pub type speed_t = u32;
diff --git a/src/header/time/constants.rs b/src/header/time/constants.rs
index 679ce177..8e8bd804 100644
--- a/src/header/time/constants.rs
+++ b/src/header/time/constants.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub use self::sys::*;
 
diff --git a/src/header/time/linux.rs b/src/header/time/linux.rs
index 4f8f9920..a5ee7903 100644
--- a/src/header/time/linux.rs
+++ b/src/header/time/linux.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const CLOCK_REALTIME: c_int = 0;
 pub const CLOCK_MONOTONIC: c_int = 1;
diff --git a/src/header/time/mod.rs b/src/header/time/mod.rs
index 1e1af39a..e7a0e372 100644
--- a/src/header/time/mod.rs
+++ b/src/header/time/mod.rs
@@ -1,9 +1,9 @@
 //! time implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/time.h.html
 
-use header::errno::EIO;
-use platform;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::header::errno::EIO;
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 use self::constants::*;
 
diff --git a/src/header/time/redox.rs b/src/header/time/redox.rs
index 4e8a5d5e..df1e3cdf 100644
--- a/src/header/time/redox.rs
+++ b/src/header/time/redox.rs
@@ -1,4 +1,4 @@
-use platform::types::*;
+use crate::platform::types::*;
 
 pub const CLOCK_REALTIME: c_int = 1;
 pub const CLOCK_MONOTONIC: c_int = 4;
diff --git a/src/header/time/strftime.rs b/src/header/time/strftime.rs
index 6e74d3f0..8a98cd6b 100644
--- a/src/header/time/strftime.rs
+++ b/src/header/time/strftime.rs
@@ -1,7 +1,7 @@
 use alloc::string::String;
 
-use platform::types::*;
-use platform::{self, WriteByte};
+use crate::platform::types::*;
+use crate::platform::{self, WriteByte};
 
 use super::tm;
 
diff --git a/src/header/unistd/brk.rs b/src/header/unistd/brk.rs
index e34178aa..e54c22ab 100644
--- a/src/header/unistd/brk.rs
+++ b/src/header/unistd/brk.rs
@@ -1,9 +1,9 @@
 use core::ptr;
 
-use header::errno::ENOMEM;
-use platform;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::header::errno::ENOMEM;
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 static mut BRK: *mut c_void = ptr::null_mut();
 
diff --git a/src/header/unistd/getopt.rs b/src/header/unistd/getopt.rs
index d08f4377..1cf2acea 100644
--- a/src/header/unistd/getopt.rs
+++ b/src/header/unistd/getopt.rs
@@ -2,8 +2,8 @@
 
 use core::ptr;
 
-use header::getopt;
-use platform::types::*;
+use crate::header::getopt;
+use crate::platform::types::*;
 
 #[allow(non_upper_case_globals)]
 #[no_mangle]
diff --git a/src/header/unistd/mod.rs b/src/header/unistd/mod.rs
index 56403320..945e2acd 100644
--- a/src/header/unistd/mod.rs
+++ b/src/header/unistd/mod.rs
@@ -4,17 +4,17 @@ use core::convert::TryFrom;
 use core::{mem, ptr, slice};
 
 use alloc::collections::LinkedList;
-use c_str::CStr;
-use header::errno;
-use header::limits;
-use header::stdlib::getenv;
-use header::sys_ioctl;
-use header::sys_time;
-use header::termios;
-use header::time::timespec;
-use platform;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::header::errno;
+use crate::header::limits;
+use crate::header::stdlib::getenv;
+use crate::header::sys_ioctl;
+use crate::header::sys_time;
+use crate::header::termios;
+use crate::header::time::timespec;
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 pub use self::brk::*;
 pub use self::getopt::*;
diff --git a/src/header/unistd/pathconf.rs b/src/header/unistd/pathconf.rs
index 767d6f61..c5081f0a 100644
--- a/src/header/unistd/pathconf.rs
+++ b/src/header/unistd/pathconf.rs
@@ -1,6 +1,6 @@
-use header::errno;
-use platform;
-use platform::types::*;
+use crate::header::errno;
+use crate::platform;
+use crate::platform::types::*;
 
 pub const _PC_LINK_MAX: c_int = 0;
 pub const _PC_MAX_CANON: c_int = 1;
diff --git a/src/header/unistd/sysconf.rs b/src/header/unistd/sysconf.rs
index c2905602..5a617813 100644
--- a/src/header/unistd/sysconf.rs
+++ b/src/header/unistd/sysconf.rs
@@ -1,6 +1,6 @@
-use header::errno;
-use platform;
-use platform::types::*;
+use crate::header::errno;
+use crate::platform;
+use crate::platform::types::*;
 
 // POSIX.1 {
 pub const _SC_ARG_MAX: c_int = 0;
diff --git a/src/header/utime/mod.rs b/src/header/utime/mod.rs
index 6633f0b6..8650faa3 100644
--- a/src/header/utime/mod.rs
+++ b/src/header/utime/mod.rs
@@ -1,9 +1,9 @@
 //! utime implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/utime.h.html
 
-use c_str::CStr;
-use header::time::timespec;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::c_str::CStr;
+use crate::header::time::timespec;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 #[repr(C)]
 #[derive(Clone)]
diff --git a/src/header/wchar/mod.rs b/src/header/wchar/mod.rs
index 35a9662c..71df7ec8 100644
--- a/src/header/wchar/mod.rs
+++ b/src/header/wchar/mod.rs
@@ -3,14 +3,14 @@
 use core::ffi::VaList as va_list;
 use core::{char, mem, ptr, usize};
 
-use header::ctype::isspace;
-use header::errno::ERANGE;
-use header::stdio::*;
-use header::stdlib::MB_CUR_MAX;
-use header::string;
-use header::time::*;
-use platform;
-use platform::types::*;
+use crate::header::ctype::isspace;
+use crate::header::errno::ERANGE;
+use crate::header::stdio::*;
+use crate::header::stdlib::MB_CUR_MAX;
+use crate::header::string;
+use crate::header::time::*;
+use crate::platform;
+use crate::platform::types::*;
 
 mod utf8;
 
diff --git a/src/header/wchar/utf8.rs b/src/header/wchar/utf8.rs
index 1e1c87ec..b104a488 100644
--- a/src/header/wchar/utf8.rs
+++ b/src/header/wchar/utf8.rs
@@ -3,9 +3,9 @@
 
 use core::{char, slice, str, usize};
 
-use header::errno;
-use platform;
-use platform::types::*;
+use crate::header::errno;
+use crate::platform;
+use crate::platform::types::*;
 
 use super::mbstate_t;
 
diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs
index aebd2a79..20a4b1cb 100644
--- a/src/ld_so/linker.rs
+++ b/src/ld_so/linker.rs
@@ -6,11 +6,11 @@ use core::{mem, ptr, slice};
 use goblin::elf::{program_header, reloc, sym, Elf};
 use goblin::error::{Error, Result};
 
-use c_str::CString;
-use fs::File;
-use header::{fcntl, sys_mman, unistd};
-use io::Read;
-use platform::types::c_void;
+use crate::c_str::CString;
+use crate::fs::File;
+use crate::header::{fcntl, sys_mman, unistd};
+use crate::io::Read;
+use crate::platform::types::c_void;
 
 use super::tcb::{Master, Tcb};
 use super::PAGE_SIZE;
diff --git a/src/ld_so/start.rs b/src/ld_so/start.rs
index a5ae510d..74e3f549 100644
--- a/src/ld_so/start.rs
+++ b/src/ld_so/start.rs
@@ -1,8 +1,8 @@
 // Start code adapted from https://gitlab.redox-os.org/redox-os/relibc/blob/master/src/start.rs
 
-use c_str::CStr;
-use header::unistd;
-use platform::types::c_char;
+use crate::c_str::CStr;
+use crate::header::unistd;
+use crate::platform::types::c_char;
 
 use super::linker::Linker;
 use crate::start::Stack;
diff --git a/src/ld_so/tcb.rs b/src/ld_so/tcb.rs
index 4fe769b7..3c31d1f9 100644
--- a/src/ld_so/tcb.rs
+++ b/src/ld_so/tcb.rs
@@ -3,7 +3,7 @@ use core::ops::Range;
 use core::{mem, ptr, slice};
 use goblin::error::{Error, Result};
 
-use header::sys_mman;
+use crate::header::sys_mman;
 
 use super::PAGE_SIZE;
 
@@ -170,7 +170,7 @@ impl Tcb {
     /// OS specific code to create a new TLS and TCB - Redox
     #[cfg(target_os = "redox")]
     unsafe fn os_new(size: usize) -> Result<(&'static mut [u8], &'static mut [u8])> {
-        use header::unistd;
+        use crate::header::unistd;
         //TODO: better method of finding fs offset
         let pid = unistd::getpid();
         let tcb_addr = 0xB000_0000 + pid as usize * PAGE_SIZE;
diff --git a/src/lib.rs b/src/lib.rs
index 280aaadf..58385d86 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -64,7 +64,7 @@ pub mod platform;
 pub mod start;
 pub mod sync;
 
-use platform::{Allocator, Pal, Sys};
+use crate::platform::{Allocator, Pal, Sys};
 
 #[global_allocator]
 static ALLOCATOR: Allocator = Allocator;
diff --git a/src/platform/linux/epoll.rs b/src/platform/linux/epoll.rs
index 3b95d420..4fc3dc3a 100644
--- a/src/platform/linux/epoll.rs
+++ b/src/platform/linux/epoll.rs
@@ -1,8 +1,8 @@
 use super::super::types::*;
 use super::super::PalEpoll;
 use super::{e, Sys};
-use header::signal::sigset_t;
-use header::sys_epoll::epoll_event;
+use crate::header::signal::sigset_t;
+use crate::header::sys_epoll::epoll_event;
 
 impl PalEpoll for Sys {
     fn epoll_create1(flags: c_int) -> c_int {
diff --git a/src/platform/linux/mod.rs b/src/platform/linux/mod.rs
index edd7be4b..066bac40 100644
--- a/src/platform/linux/mod.rs
+++ b/src/platform/linux/mod.rs
@@ -3,16 +3,16 @@ use core_io::Write;
 
 use super::types::*;
 use super::{errno, Pal};
-use c_str::CStr;
-use header::dirent::dirent;
-use header::signal::SIGCHLD;
+use crate::c_str::CStr;
+use crate::header::dirent::dirent;
+use crate::header::signal::SIGCHLD;
 // use header::sys_resource::rusage;
-use header::sys_stat::stat;
-use header::sys_statvfs::statvfs;
-use header::sys_time::{timeval, timezone};
+use crate::header::sys_stat::stat;
+use crate::header::sys_statvfs::statvfs;
+use crate::header::sys_time::{timeval, timezone};
 // use header::sys_times::tms;
-use header::sys_utsname::utsname;
-use header::time::timespec;
+use crate::header::sys_utsname::utsname;
+use crate::header::time::timespec;
 
 mod epoll;
 mod ptrace;
diff --git a/src/platform/linux/signal.rs b/src/platform/linux/signal.rs
index 7e47729b..3baee351 100644
--- a/src/platform/linux/signal.rs
+++ b/src/platform/linux/signal.rs
@@ -3,8 +3,8 @@ use core::mem;
 use super::super::types::*;
 use super::super::PalSignal;
 use super::{e, Sys};
-use header::signal::{sigaction, sigset_t, stack_t};
-use header::sys_time::itimerval;
+use crate::header::signal::{sigaction, sigset_t, stack_t};
+use crate::header::sys_time::itimerval;
 
 impl PalSignal for Sys {
     fn getitimer(which: c_int, out: *mut itimerval) -> c_int {
diff --git a/src/platform/linux/socket.rs b/src/platform/linux/socket.rs
index 96caab32..8c5a0e19 100644
--- a/src/platform/linux/socket.rs
+++ b/src/platform/linux/socket.rs
@@ -1,7 +1,7 @@
 use super::super::types::*;
 use super::super::PalSocket;
 use super::{e, Sys};
-use header::sys_socket::{sockaddr, socklen_t};
+use crate::header::sys_socket::{sockaddr, socklen_t};
 
 impl PalSocket for Sys {
     unsafe fn accept(socket: c_int, address: *mut sockaddr, address_len: *mut socklen_t) -> c_int {
diff --git a/src/platform/mod.rs b/src/platform/mod.rs
index 979899e9..3d6c1c18 100644
--- a/src/platform/mod.rs
+++ b/src/platform/mod.rs
@@ -1,6 +1,6 @@
 use alloc::vec::Vec;
 use core::{fmt, ptr};
-use io::{self, Read, Write};
+use crate::io::{self, Read, Write};
 
 pub use self::allocator::*;
 
diff --git a/src/platform/pal/epoll.rs b/src/platform/pal/epoll.rs
index 2451de31..96ed150b 100644
--- a/src/platform/pal/epoll.rs
+++ b/src/platform/pal/epoll.rs
@@ -1,7 +1,7 @@
 use super::super::types::*;
 use super::super::Pal;
-use header::signal::sigset_t;
-use header::sys_epoll::epoll_event;
+use crate::header::signal::sigset_t;
+use crate::header::sys_epoll::epoll_event;
 
 pub trait PalEpoll: Pal {
     fn epoll_create1(flags: c_int) -> c_int;
diff --git a/src/platform/pal/mod.rs b/src/platform/pal/mod.rs
index fde80078..4bab4374 100644
--- a/src/platform/pal/mod.rs
+++ b/src/platform/pal/mod.rs
@@ -1,11 +1,11 @@
 use super::types::*;
-use c_str::CStr;
-use header::dirent::dirent;
-use header::sys_stat::stat;
-use header::sys_statvfs::statvfs;
-use header::sys_time::{timeval, timezone};
-use header::sys_utsname::utsname;
-use header::time::timespec;
+use crate::c_str::CStr;
+use crate::header::dirent::dirent;
+use crate::header::sys_stat::stat;
+use crate::header::sys_statvfs::statvfs;
+use crate::header::sys_time::{timeval, timezone};
+use crate::header::sys_utsname::utsname;
+use crate::header::time::timespec;
 
 pub use self::epoll::PalEpoll;
 mod epoll;
diff --git a/src/platform/pal/signal.rs b/src/platform/pal/signal.rs
index d014ce89..a0330330 100644
--- a/src/platform/pal/signal.rs
+++ b/src/platform/pal/signal.rs
@@ -1,7 +1,7 @@
 use super::super::types::*;
 use super::super::Pal;
-use header::signal::{sigaction, sigset_t, stack_t};
-use header::sys_time::itimerval;
+use crate::header::signal::{sigaction, sigset_t, stack_t};
+use crate::header::sys_time::itimerval;
 
 pub trait PalSignal: Pal {
     fn getitimer(which: c_int, out: *mut itimerval) -> c_int;
diff --git a/src/platform/pal/socket.rs b/src/platform/pal/socket.rs
index d5970f85..e74de7d7 100644
--- a/src/platform/pal/socket.rs
+++ b/src/platform/pal/socket.rs
@@ -1,6 +1,6 @@
 use super::super::types::*;
 use super::super::Pal;
-use header::sys_socket::{sockaddr, socklen_t};
+use crate::header::sys_socket::{sockaddr, socklen_t};
 
 pub trait PalSocket: Pal {
     unsafe fn accept(socket: c_int, address: *mut sockaddr, address_len: *mut socklen_t) -> c_int;
diff --git a/src/platform/pte.rs b/src/platform/pte.rs
index 2bb61dd5..99409a47 100644
--- a/src/platform/pte.rs
+++ b/src/platform/pte.rs
@@ -5,12 +5,12 @@ use alloc::collections::BTreeMap;
 use core::sync::atomic::{AtomicU32, Ordering};
 use core::{intrinsics, ptr};
 
-use header::sys_mman;
-use header::time::timespec;
-use ld_so::tcb::{Master, Tcb};
-use platform::types::{c_int, c_uint, c_void, pid_t, size_t};
-use platform::{Pal, Sys};
-use sync::Mutex;
+use crate::header::sys_mman;
+use crate::header::time::timespec;
+use crate::ld_so::tcb::{Master, Tcb};
+use crate::platform::types::{c_int, c_uint, c_void, pid_t, size_t};
+use crate::platform::{Pal, Sys};
+use crate::sync::Mutex;
 
 pub struct Semaphore {
     lock: Mutex<()>,
diff --git a/src/platform/redox/epoll.rs b/src/platform/redox/epoll.rs
index 88ba6c5d..91e57900 100644
--- a/src/platform/redox/epoll.rs
+++ b/src/platform/redox/epoll.rs
@@ -3,13 +3,13 @@ use super::super::{Pal, PalEpoll};
 use super::Sys;
 
 use core::{mem, slice};
-use fs::File;
-use header::errno::*;
-use header::fcntl::*;
-use header::signal::sigset_t;
-use header::sys_epoll::*;
-use io::prelude::*;
-use platform;
+use crate::fs::File;
+use crate::header::errno::*;
+use crate::header::fcntl::*;
+use crate::header::signal::sigset_t;
+use crate::header::sys_epoll::*;
+use crate::io::prelude::*;
+use crate::platform;
 use syscall::data::{Event, TimeSpec};
 use syscall::flag::EVENT_READ;
 
diff --git a/src/platform/redox/extra.rs b/src/platform/redox/extra.rs
index b451e0a4..674d246d 100644
--- a/src/platform/redox/extra.rs
+++ b/src/platform/redox/extra.rs
@@ -1,7 +1,7 @@
 use core::{ptr, slice};
 
-use platform::sys::e;
-use platform::types::*;
+use crate::platform::sys::e;
+use crate::platform::types::*;
 
 #[no_mangle]
 pub unsafe extern "C" fn redox_fpath(fd: c_int, buf: *mut c_void, count: size_t) -> ssize_t {
diff --git a/src/platform/redox/mod.rs b/src/platform/redox/mod.rs
index 76e272f4..4043be46 100644
--- a/src/platform/redox/mod.rs
+++ b/src/platform/redox/mod.rs
@@ -6,21 +6,21 @@ use syscall::data::StatVfs as redox_statvfs;
 use syscall::data::TimeSpec as redox_timespec;
 use syscall::{self, Result};
 
-use c_str::{CStr, CString};
-use fs::File;
-use header::dirent::dirent;
-use header::errno::{EINVAL, EIO, EPERM, ERANGE};
-use header::fcntl;
-use header::sys_mman::MAP_ANON;
-use header::sys_stat::stat;
-use header::sys_statvfs::statvfs;
-use header::sys_time::{timeval, timezone};
-use header::sys_wait;
-use header::sys_utsname::{utsname, UTSLENGTH};
-use header::time::timespec;
-use header::unistd::{F_OK, R_OK, W_OK, X_OK};
-use io::prelude::*;
-use io::{self, BufReader, SeekFrom};
+use crate::c_str::{CStr, CString};
+use crate::fs::File;
+use crate::header::dirent::dirent;
+use crate::header::errno::{EINVAL, EIO, EPERM, ERANGE};
+use crate::header::fcntl;
+use crate::header::sys_mman::MAP_ANON;
+use crate::header::sys_stat::stat;
+use crate::header::sys_statvfs::statvfs;
+use crate::header::sys_time::{timeval, timezone};
+use crate::header::sys_wait;
+use crate::header::sys_utsname::{utsname, UTSLENGTH};
+use crate::header::time::timespec;
+use crate::header::unistd::{F_OK, R_OK, W_OK, X_OK};
+use crate::io::prelude::*;
+use crate::io::{self, BufReader, SeekFrom};
 
 use super::types::*;
 use super::{errno, Pal, Read};
@@ -230,7 +230,7 @@ impl Pal for Sys {
         };
         let mut _interpreter_path = None;
         if let Some(interpreter) = interpreter {
-            let mut cstring = match CString::new(interpreter) {
+            let cstring = match CString::new(interpreter) {
                 Ok(cstring) => cstring,
                 Err(_) => return -1,
             };
diff --git a/src/platform/redox/signal.rs b/src/platform/redox/signal.rs
index c22f53d5..b46b1bc5 100644
--- a/src/platform/redox/signal.rs
+++ b/src/platform/redox/signal.rs
@@ -4,10 +4,10 @@ use syscall;
 use super::super::types::*;
 use super::super::{Pal, PalSignal};
 use super::{e, Sys};
-use header::errno::EINVAL;
-use header::signal::{sigaction, sigset_t, stack_t};
-use header::sys_time::{itimerval, ITIMER_REAL};
-use platform::errno;
+use crate::header::errno::EINVAL;
+use crate::header::signal::{sigaction, sigset_t, stack_t};
+use crate::header::sys_time::{itimerval, ITIMER_REAL};
+use crate::platform::errno;
 
 impl PalSignal for Sys {
     fn getitimer(which: c_int, out: *mut itimerval) -> c_int {
diff --git a/src/platform/redox/socket.rs b/src/platform/redox/socket.rs
index 50fa64ae..8313efc9 100644
--- a/src/platform/redox/socket.rs
+++ b/src/platform/redox/socket.rs
@@ -5,10 +5,10 @@ use syscall::{self, Result};
 use super::super::types::*;
 use super::super::{errno, Pal, PalSocket};
 use super::{e, Sys};
-use header::netinet_in::{in_port_t, sockaddr_in};
-use header::sys_socket::constants::*;
-use header::sys_socket::{sockaddr, socklen_t};
-use header::sys_time::timeval;
+use crate::header::netinet_in::{in_port_t, sockaddr_in};
+use crate::header::sys_socket::constants::*;
+use crate::header::sys_socket::{sockaddr, socklen_t};
+use crate::header::sys_time::timeval;
 
 macro_rules! bind_or_connect {
     (bind $path:expr) => {
diff --git a/src/platform/rlb.rs b/src/platform/rlb.rs
index b341cbc9..211e21dc 100644
--- a/src/platform/rlb.rs
+++ b/src/platform/rlb.rs
@@ -1,9 +1,9 @@
 use alloc::vec::Vec;
 
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
-use header::unistd::{lseek, SEEK_SET};
+use crate::header::unistd::{lseek, SEEK_SET};
 /// Implements an `Iterator` which returns on either newline or EOF.
 #[derive(Clone)]
 pub struct RawLineBuffer {
diff --git a/src/start.rs b/src/start.rs
index e3c02fbb..73d7efeb 100644
--- a/src/start.rs
+++ b/src/start.rs
@@ -1,11 +1,11 @@
 use alloc::vec::Vec;
 use core::{intrinsics, ptr};
 
-use header::{stdio, stdlib};
-use ld_so;
-use platform;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::header::{stdio, stdlib};
+use crate::ld_so;
+use crate::platform;
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 #[repr(C)]
 pub struct Stack {
diff --git a/src/sync/mod.rs b/src/sync/mod.rs
index 081a377e..ffd227b7 100644
--- a/src/sync/mod.rs
+++ b/src/sync/mod.rs
@@ -8,8 +8,8 @@ use core::cell::UnsafeCell;
 use core::ops::Deref;
 use core::sync::atomic;
 use core::sync::atomic::AtomicI32 as AtomicInt;
-use platform::types::*;
-use platform::{Pal, Sys};
+use crate::platform::types::*;
+use crate::platform::{Pal, Sys};
 
 const FUTEX_WAIT: c_int = 0;
 const FUTEX_WAKE: c_int = 1;
diff --git a/src/sync/mutex.rs b/src/sync/mutex.rs
index 4a251d4c..e2c25bb0 100644
--- a/src/sync/mutex.rs
+++ b/src/sync/mutex.rs
@@ -2,7 +2,7 @@ use super::{AtomicLock, AttemptStatus};
 use core::cell::UnsafeCell;
 use core::ops::{Deref, DerefMut};
 use core::sync::atomic::Ordering::SeqCst;
-use platform::types::*;
+use crate::platform::types::*;
 
 const UNLOCKED: c_int = 0;
 const LOCKED: c_int = 1;
diff --git a/src/sync/once.rs b/src/sync/once.rs
index dfefaf97..83fc6be3 100644
--- a/src/sync/once.rs
+++ b/src/sync/once.rs
@@ -2,7 +2,7 @@ use super::{AtomicLock, AttemptStatus};
 use core::cell::UnsafeCell;
 use core::mem::MaybeUninit;
 use core::sync::atomic::Ordering::SeqCst;
-use platform::types::*;
+use crate::platform::types::*;
 
 const UNINITIALIZED: c_int = 0;
 const INITIALIZING: c_int = 1;
-- 
GitLab