diff --git a/Cargo.lock b/Cargo.lock index 275cc2e..4c893d7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -33,9 +33,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "3.2.14" +version = "3.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54635806b078b7925d6e36810b1755f2a4b5b4d57560432c1ecf60bcbe10602b" +checksum = "23b71c3ce99b7611011217b366d923f1d0a7e07a92bb2dbf1e84508c673ca3bd" dependencies = [ "atty", "bitflags", @@ -50,9 +50,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "3.2.7" +version = "3.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759bf187376e1afa7b85b959e6a664a3e7a95203415dba952ad19139e798f902" +checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" dependencies = [ "heck", "proc-macro-error", @@ -72,15 +72,15 @@ dependencies = [ [[package]] name = "either" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "fastrand" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" dependencies = [ "instant", ] @@ -175,9 +175,9 @@ checksum = "a402480a9a8d5a8b6348ddb87bc7e7d16a0899086b5c6ba9ff6df622e9f4692a" [[package]] name = "libc" -version = "0.2.126" +version = "0.2.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" [[package]] name = "num-traits" @@ -190,9 +190,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.13.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" +checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0" [[package]] name = "ordered-float" @@ -205,9 +205,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.2.0" +version = "6.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4" +checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" [[package]] name = "peg" @@ -268,18 +268,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.40" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" +checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" dependencies = [ "proc-macro2", ] @@ -316,9 +316,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.13" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags", ] @@ -340,9 +340,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "syn" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" +checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" dependencies = [ "proc-macro2", "quote", @@ -380,18 +380,18 @@ checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" [[package]] name = "thiserror" -version = "1.0.31" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" +checksum = "3d0a539a918745651435ac7db7a18761589a94cd7e94cd56999f828bf73c8a57" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.31" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" +checksum = "c251e90f708e16c49a16f4917dc2131e75222b72edfa9cb7f7c58ae56aae0c09" dependencies = [ "proc-macro2", "quote", @@ -400,9 +400,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7" +checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" [[package]] name = "version_check" diff --git a/Cargo.toml b/Cargo.toml index 3071f1a..3eb676b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,8 +29,8 @@ required-features = ["build-bin"] build-bin = ["clap"] [dependencies] -clap = { version = "3.2.14", features = ["derive"], optional = true } -thiserror = "1.0.30" +clap = { version = "3.2.20", features = ["derive"], optional = true } +thiserror = "1.0.33" lang-c = "0.11.0" itertools = "0.10.3" tempfile = "3.3.0" diff --git a/rust-toolchain b/rust-toolchain index 76d0536..af92bdd 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -1.62.0 +1.63.0 diff --git a/src/ir/dtype.rs b/src/ir/dtype.rs index 2e51ed4..c31433a 100644 --- a/src/ir/dtype.rs +++ b/src/ir/dtype.rs @@ -13,7 +13,7 @@ use crate::ir::*; use crate::some_or; /// TODO(document) -#[derive(Debug, PartialEq, Error)] +#[derive(Debug, PartialEq, Eq, Error)] pub enum DtypeError { /// For uncommon error #[error("{message}")] diff --git a/src/ir/interp.rs b/src/ir/interp.rs index 04909ba..5b72091 100644 --- a/src/ir/interp.rs +++ b/src/ir/interp.rs @@ -295,7 +295,7 @@ impl Value { } } -#[derive(Debug, PartialEq, Error)] +#[derive(Debug, PartialEq, Eq, Error)] pub enum InterpreterError { #[error("current block is unreachable")] Unreachable, @@ -313,7 +313,7 @@ pub enum InterpreterError { }, } -#[derive(Debug, PartialEq, Clone, Copy)] +#[derive(Debug, PartialEq, Eq, Clone, Copy)] pub struct Pc { pub bid: BlockId, pub iid: usize, diff --git a/src/ir/mod.rs b/src/ir/mod.rs index c0dd9e0..a044b65 100644 --- a/src/ir/mod.rs +++ b/src/ir/mod.rs @@ -138,7 +138,7 @@ impl HasDtype for Declaration { } } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct FunctionSignature { pub ret: Dtype, pub params: Vec, @@ -162,7 +162,7 @@ impl HasDtype for FunctionSignature { } } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct FunctionDefinition { /// Memory allocations for local variables. The allocation is performed at the beginning of a /// function invocation. @@ -184,14 +184,14 @@ impl fmt::Display for BlockId { } } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct Block { pub phinodes: Vec>, pub instructions: Vec>, pub exit: BlockExit, } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] #[allow(clippy::large_enum_variant)] pub enum Instruction { Nop, @@ -349,7 +349,7 @@ impl fmt::Display for Instruction { } } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] pub enum BlockExit { Jump { arg: JumpArg, @@ -431,7 +431,7 @@ impl fmt::Display for BlockExit { } } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct JumpArg { pub bid: BlockId, pub args: Vec, diff --git a/src/irgen/mod.rs b/src/irgen/mod.rs index 885d231..1ca13e9 100644 --- a/src/irgen/mod.rs +++ b/src/irgen/mod.rs @@ -7,7 +7,7 @@ use crate::*; #[derive(Default, Debug)] pub struct Irgen {} -#[derive(Debug, PartialEq)] +#[derive(Debug, PartialEq, Eq)] pub struct IrgenError {} impl fmt::Display for IrgenError {