summary refs log tree commit diff
path: root/aarch64
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@chromium.org>2019-03-11 12:36:30 -0700
committerchrome-bot <chrome-bot@chromium.org>2019-04-13 18:37:55 -0700
commit3df3552e4d62d60aac3bc33a4ee9468e7514202f (patch)
treece416fe0ebf7bce37cec60a0db744bf037cd8add /aarch64
parentd49adc9005a300dbae60bd8ecb12ea620fc0fd31 (diff)
downloadcrosvm-3df3552e4d62d60aac3bc33a4ee9468e7514202f.tar
crosvm-3df3552e4d62d60aac3bc33a4ee9468e7514202f.tar.gz
crosvm-3df3552e4d62d60aac3bc33a4ee9468e7514202f.tar.bz2
crosvm-3df3552e4d62d60aac3bc33a4ee9468e7514202f.tar.lz
crosvm-3df3552e4d62d60aac3bc33a4ee9468e7514202f.tar.xz
crosvm-3df3552e4d62d60aac3bc33a4ee9468e7514202f.tar.zst
crosvm-3df3552e4d62d60aac3bc33a4ee9468e7514202f.zip
lints: Enforce sorted order for enum variants
To avoid wasting time re-sorting these things (CL:1492612).

https://docs.rs/remain

Disclaimer: I wrote the macro.

This CL adds #[sorted] attributes to those Error enums that seemed to
have made some effort to be in sorted order.

TEST=cargo check
TEST=cargo check --all-features
TEST=cargo check --target aarch64-unknown-linux-gnu
TEST=emerge-nami crosvm
TEST=local kokoro
CQ-DEPEND=CL:1524247

Change-Id: I89685ced05e2f149fa189ca509bc14c70aebb531
Reviewed-on: https://chromium-review.googlesource.com/1515998
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: David Tolnay <dtolnay@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: David Tolnay <dtolnay@chromium.org>
Diffstat (limited to 'aarch64')
-rw-r--r--aarch64/Cargo.toml1
-rw-r--r--aarch64/src/lib.rs5
2 files changed, 6 insertions, 0 deletions
diff --git a/aarch64/Cargo.toml b/aarch64/Cargo.toml
index 4d773a3..8c754d1 100644
--- a/aarch64/Cargo.toml
+++ b/aarch64/Cargo.toml
@@ -13,6 +13,7 @@ kernel_cmdline = { path = "../kernel_cmdline" }
 kvm = { path = "../kvm" }
 kvm_sys = { path = "../kvm_sys" }
 libc = "*"
+remain = "*"
 resources = { path = "../resources" }
 sync = { path = "../sync" }
 sys_util = { path = "../sys_util" }
diff --git a/aarch64/src/lib.rs b/aarch64/src/lib.rs
index e8cabe4..07fbff5 100644
--- a/aarch64/src/lib.rs
+++ b/aarch64/src/lib.rs
@@ -10,6 +10,7 @@ extern crate kernel_cmdline;
 extern crate kvm;
 extern crate kvm_sys;
 extern crate libc;
+extern crate remain;
 extern crate resources;
 extern crate sync;
 extern crate sys_util;
@@ -25,6 +26,7 @@ use std::sync::Arc;
 use arch::{RunnableLinuxVm, VmComponents};
 use devices::{Bus, BusError, PciConfigMmio, PciDevice, PciInterruptPin};
 use io_jail::Minijail;
+use remain::sorted;
 use resources::{AddressRanges, SystemAllocator};
 use sync::Mutex;
 use sys_util::{EventFd, GuestAddress, GuestMemory, GuestMemoryError};
@@ -115,6 +117,7 @@ const AARCH64_MMIO_SIZE: u64 = 0x100000;
 // Virtio devices start at SPI interrupt number 2
 const AARCH64_IRQ_BASE: u32 = 2;
 
+#[sorted]
 #[derive(Debug)]
 pub enum Error {
     CloneEventFd(sys_util::Error),
@@ -141,9 +144,11 @@ pub enum Error {
 }
 
 impl Display for Error {
+    #[remain::check]
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
         use self::Error::*;
 
+        #[sorted]
         match self {
             CloneEventFd(e) => write!(f, "unable to clone an EventFd: {}", e),
             Cmdline(e) => write!(f, "the given kernel command line was invalid: {}", e),