From d37287a33d8a68a56ab17762584c6159f8d9b54e Mon Sep 17 00:00:00 2001 From: David Mak Date: Fri, 1 Sep 2023 16:56:32 +0800 Subject: [PATCH] Cargo: Update dependencies --- Cargo.lock | 215 +++++++++++++++++++++++-------- nac3artiq/Cargo.toml | 4 +- nac3artiq/src/codegen.rs | 2 +- nac3artiq/src/lib.rs | 12 +- nac3artiq/src/symbol_resolver.rs | 22 ++-- nac3core/Cargo.toml | 6 +- nac3parser/Cargo.toml | 8 +- nac3parser/src/error.rs | 2 +- nac3standalone/Cargo.toml | 2 +- runkernel/Cargo.toml | 2 +- 10 files changed, 189 insertions(+), 86 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a7e94789c..67cd46461 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,6 +13,18 @@ dependencies = [ "version_check", ] +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "1.0.2" @@ -167,6 +179,12 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "deranged" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" + [[package]] name = "diff" version = "0.1.13" @@ -260,6 +278,15 @@ dependencies = [ "byteorder", ] +[[package]] +name = "getopts" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +dependencies = [ + "unicode-width", +] + [[package]] name = "getrandom" version = "0.2.10" @@ -277,7 +304,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" dependencies = [ - "ahash", + "ahash 0.7.6", ] [[package]] @@ -309,10 +336,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" [[package]] -name = "inkwell" -version = "0.1.1" +name = "indoc" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbac11e485159a525867fb7e6aa61981453e6a72f625fde6a4ab3047b0c6dec9" +checksum = "2c785eefb63ebd0e33416dfcb8d6da0bf27ce752843a45632a67bf10d4d4b5c4" + +[[package]] +name = "inkwell" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4fcb4a4fa0b8f7b4178e24e6317d6f8b95ab500d8e6e1bd4283b6860e369c1" dependencies = [ "either", "inkwell_internals", @@ -324,13 +357,13 @@ dependencies = [ [[package]] name = "inkwell_internals" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87d00c17e264ce02be5bc23d7bff959188ec7137beddd06b8b6b05a7c680ea85" +checksum = "b185e7d068d6820411502efa14d8fbf010750485399402156b72dd2a548ef8e9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -388,27 +421,37 @@ dependencies = [ ] [[package]] -name = "itoa" -version = "1.0.8" +name = "itertools" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "lalrpop" -version = "0.19.12" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a1cbf952127589f2851ab2046af368fd20645491bb4b376f04b7f94d7a9837b" +checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8" dependencies = [ "ascii-canvas", "bit-set", "diff", "ena", "is-terminal", - "itertools", + "itertools 0.10.5", "lalrpop-util", "petgraph", + "pico-args", "regex", - "regex-syntax 0.6.29", + "regex-syntax", "string_cache", "term", "tiny-keccak", @@ -417,9 +460,9 @@ dependencies = [ [[package]] name = "lalrpop-util" -version = "0.19.12" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed" +checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d" dependencies = [ "regex", ] @@ -438,12 +481,12 @@ checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "libloading" -version = "0.7.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb" dependencies = [ "cfg-if", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -536,10 +579,10 @@ name = "nac3core" version = "0.1.0" dependencies = [ "crossbeam", - "indoc", + "indoc 2.0.3", "inkwell", "insta", - "itertools", + "itertools 0.11.0", "lazy_static", "nac3parser", "parking_lot", @@ -559,7 +602,7 @@ dependencies = [ name = "nac3parser" version = "0.1.2" dependencies = [ - "ahash", + "ahash 0.8.3", "insta", "lalrpop", "lalrpop-util", @@ -666,7 +709,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.29", ] [[package]] @@ -687,6 +730,18 @@ dependencies = [ "siphasher", ] +[[package]] +name = "pico-args" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + [[package]] name = "precomputed-hash" version = "0.1.1" @@ -704,13 +759,14 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.16.6" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0220c44442c9b239dd4357aa856ac468a4f5e1f0df19ddb89b2522952eb4c6ca" +checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38" dependencies = [ "cfg-if", - "indoc", + "indoc 1.0.9", "libc", + "memoffset", "parking_lot", "pyo3-build-config", "pyo3-ffi", @@ -720,9 +776,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.16.6" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c819d397859445928609d0ec5afc2da5204e0d0f73d6bf9e153b04e83c9cdc2" +checksum = "076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5" dependencies = [ "once_cell", "target-lexicon", @@ -730,9 +786,9 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.16.6" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca882703ab55f54702d7bfe1189b41b0af10272389f04cae38fe4cd56c65f75f" +checksum = "e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9" dependencies = [ "libc", "pyo3-build-config", @@ -740,9 +796,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.16.6" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "568749402955ad7be7bad9a09b8593851cd36e549ac90bfd44079cea500f3f21" +checksum = "dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -752,9 +808,9 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.16.6" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611f64e82d98f447787e82b8e7b0ebc681e1eb78fc1252668b2c605ffb4e1eb8" +checksum = "947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536" dependencies = [ "proc-macro2", "quote", @@ -776,6 +832,18 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", "rand_core", ] @@ -784,6 +852,9 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] [[package]] name = "rayon" @@ -845,7 +916,7 @@ dependencies = [ "aho-corasick", "memchr", "regex-automata", - "regex-syntax 0.7.4", + "regex-syntax", ] [[package]] @@ -856,15 +927,9 @@ checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.4", + "regex-syntax", ] -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - [[package]] name = "regex-syntax" version = "0.7.4" @@ -913,9 +978,9 @@ checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" [[package]] name = "ryu" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "scopeguard" @@ -931,29 +996,29 @@ checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" [[package]] name = "serde" -version = "1.0.171" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.171" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.29", ] [[package]] name = "serde_json" -version = "1.0.102" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed" +checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" dependencies = [ "itoa", "ryu", @@ -1027,9 +1092,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.25" +version = "2.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" +checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" dependencies = [ "proc-macro2", "quote", @@ -1097,9 +1162,26 @@ checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.25", + "syn 2.0.29", ] +[[package]] +name = "time" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" +dependencies = [ + "deranged", + "serde", + "time-core", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" + [[package]] name = "tiny-keccak" version = "2.0.2" @@ -1167,6 +1249,12 @@ version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + [[package]] name = "unicode-xid" version = "0.2.4" @@ -1175,9 +1263,24 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "unicode_names2" -version = "0.5.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029df4cc8238cefc911704ff8fa210853a0f3bce2694d8f51181dd41ee0f3301" +checksum = "e7d472cda5258db9868b0125976db65f0a3f197ed86b62c6982bfba7815eb499" +dependencies = [ + "unicode_names2_generator", +] + +[[package]] +name = "unicode_names2_generator" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d0eca6cab3b00e3a9737b5ab3a3245336f4183af52a5a57ba026c2c6575d5b" +dependencies = [ + "getopts", + "log", + "rand", + "time", +] [[package]] name = "unindent" diff --git a/nac3artiq/Cargo.toml b/nac3artiq/Cargo.toml index 85075fca2..c290c0465 100644 --- a/nac3artiq/Cargo.toml +++ b/nac3artiq/Cargo.toml @@ -9,7 +9,7 @@ name = "nac3artiq" crate-type = ["cdylib"] [dependencies] -pyo3 = { version = "0.16", features = ["extension-module"] } +pyo3 = { version = "0.19", features = ["extension-module"] } parking_lot = "0.12" tempfile = "3" nac3parser = { path = "../nac3parser" } @@ -17,7 +17,7 @@ nac3core = { path = "../nac3core" } nac3ld = { path = "../nac3ld" } [dependencies.inkwell] -version = "0.1.1" +version = "0.2" default-features = false features = ["llvm14-0", "target-x86", "target-arm", "target-riscv", "no-libffi-linking"] diff --git a/nac3artiq/src/codegen.rs b/nac3artiq/src/codegen.rs index 8ff51d5b1..afee7e568 100644 --- a/nac3artiq/src/codegen.rs +++ b/nac3artiq/src/codegen.rs @@ -498,7 +498,7 @@ pub fn attributes_writeback<'ctx, 'a>( host_attributes: PyObject, ) -> Result<(), String> { Python::with_gil(|py| -> PyResult> { - let host_attributes = host_attributes.cast_as::(py)?; + let host_attributes: &PyList = host_attributes.downcast(py)?; let top_levels = ctx.top_level.definitions.read(); let globals = inner_resolver.global_value_ids.read(); let int32 = ctx.ctx.i32_type(); diff --git a/nac3artiq/src/lib.rs b/nac3artiq/src/lib.rs index 4417a6824..049fdeb81 100644 --- a/nac3artiq/src/lib.rs +++ b/nac3artiq/src/lib.rs @@ -143,7 +143,7 @@ impl Nac3 { if *id == "Exception".into() { Ok(true) } else { - let base_obj = module.getattr(py, id.to_string())?; + let base_obj = module.getattr(py, id.to_string().as_str())?; let base_id = id_fn.call1((base_obj,))?.extract()?; Ok(registered_class_ids.contains(&base_id)) } @@ -325,7 +325,7 @@ impl Nac3 { let helper = helper.clone(); let class_obj; if let StmtKind::ClassDef { name, .. } = &stmt.node { - let class = py_module.getattr(name.to_string()).unwrap(); + let class = py_module.getattr(name.to_string().as_str()).unwrap(); if issubclass.call1((class, exn_class)).unwrap().extract().unwrap() && class.getattr("artiq_builtin").is_err() { class_obj = Some(class); @@ -339,7 +339,7 @@ impl Nac3 { module_to_resolver_cache.get(&module_id).cloned().unwrap_or_else(|| { let mut name_to_pyid: HashMap = HashMap::new(); let members: &PyDict = - py_module.getattr("__dict__").unwrap().cast_as().unwrap(); + py_module.getattr("__dict__").unwrap().downcast().unwrap(); for (key, val) in members.iter() { let key: &str = key.extract().unwrap(); let val = id_fn.call1((val,)).unwrap().extract().unwrap(); @@ -385,13 +385,13 @@ impl Nac3 { match &stmt.node { StmtKind::FunctionDef { decorator_list, .. } => { if decorator_list.iter().any(|decorator| matches!(decorator.node, ExprKind::Name { id, .. } if id == "rpc".into())) { - store_fun.call1(py, (def_id.0.into_py(py), module.getattr(py, name.to_string()).unwrap())).unwrap(); + store_fun.call1(py, (def_id.0.into_py(py), module.getattr(py, name.to_string().as_str()).unwrap())).unwrap(); rpc_ids.push((None, def_id)); } } StmtKind::ClassDef { name, body, .. } => { let class_name = name.to_string(); - let class_obj = module.getattr(py, &class_name).unwrap(); + let class_obj = module.getattr(py, class_name.as_str()).unwrap(); for stmt in body.iter() { if let StmtKind::FunctionDef { name, decorator_list, .. } = &stmt.node { if decorator_list.iter().any(|decorator| matches!(decorator.node, ExprKind::Name { id, .. } if id == "rpc".into())) { @@ -517,7 +517,7 @@ impl Nac3 { py, ( id.0.into_py(py), - class_def.getattr(py, name.to_string()).unwrap(), + class_def.getattr(py, name.to_string().as_str()).unwrap(), ), ) .unwrap(); diff --git a/nac3artiq/src/symbol_resolver.rs b/nac3artiq/src/symbol_resolver.rs index ce5071a05..f8a3ae9b9 100644 --- a/nac3artiq/src/symbol_resolver.rs +++ b/nac3artiq/src/symbol_resolver.rs @@ -166,7 +166,7 @@ impl StaticValue for PythonValue { let ty_id: u64 = helper.id_fn.call1(py, (ty,))?.extract(py)?; // for optimizing unwrap KernelInvariant if ty_id == self.resolver.primitive_ids.option && name == "_nac3_option".into() { - let obj = self.value.getattr(py, &name.to_string())?; + let obj = self.value.getattr(py, name.to_string().as_str())?; let id = self.resolver.helper.id_fn.call1(py, (&obj,))?.extract(py)?; if self.id == self.resolver.primitive_ids.none { return Ok(None) @@ -188,7 +188,7 @@ impl StaticValue for PythonValue { let result = if mutable { None } else { - let obj = self.value.getattr(py, &name.to_string())?; + let obj = self.value.getattr(py, name.to_string().as_str())?; let id = self.resolver.helper.id_fn.call1(py, (&obj,))?.extract(py)?; Some((id, obj)) }; @@ -394,7 +394,7 @@ impl InnerResolver { { let origin = self.helper.origin_ty_fn.call1(py, (pyty,))?; let args = self.helper.args_ty_fn.call1(py, (pyty,))?; - let args: &PyTuple = args.cast_as(py)?; + let args: &PyTuple = args.downcast(py)?; let origin_ty = match self.get_pyty_obj_type(py, origin.as_ref(py), unifier, defs, primitives)? { Ok((ty, false)) => ty, @@ -619,7 +619,7 @@ impl InnerResolver { } } (TypeEnum::TTuple { .. }, false) => { - let elements: &PyTuple = obj.cast_as()?; + let elements: &PyTuple = obj.downcast()?; let types: Result, _>, _> = elements .iter() .map(|elem| self.get_obj_type(py, elem, unifier, defs, primitives)) @@ -695,7 +695,7 @@ impl InnerResolver { if let TypeEnum::TFunc(..) = &*unifier.get_ty(field.1.0) { continue; } else { - let field_data = match obj.getattr(&name) { + let field_data = match obj.getattr(name.as_str()) { Ok(d) => d, Err(e) => return Ok(Err(format!("{}", e))), }; @@ -896,7 +896,7 @@ impl InnerResolver { } else if ty_id == self.primitive_ids.tuple { if let TypeEnum::TTuple { ty } = ctx.unifier.get_ty_immutable(expected_ty).as_ref() { let tup_tys = ty.iter(); - let elements: &PyTuple = obj.cast_as()?; + let elements: &PyTuple = obj.downcast()?; assert_eq!(elements.len(), tup_tys.len()); let val: Result>, _> = elements @@ -994,7 +994,7 @@ impl InnerResolver { let values: Result>, _> = fields .iter() .map(|(name, ty, _)| { - self.get_obj_value(py, obj.getattr(&name.to_string())?, ctx, generator, *ty) + self.get_obj_value(py, obj.getattr(name.to_string().as_str())?, ctx, generator, *ty) .map_err(|e| super::CompileError::new_err(format!("Error getting field {}: {}", name, e))) }) .collect(); @@ -1042,7 +1042,7 @@ impl InnerResolver { let val: f64 = obj.extract()?; Ok(SymbolValue::Double(val)) } else if ty_id == self.primitive_ids.tuple { - let elements: &PyTuple = obj.cast_as()?; + let elements: &PyTuple = obj.downcast()?; let elements: Result, String>, _> = elements.iter().map(|elem| self.get_default_param_obj_value(py, elem)).collect(); elements?.map(SymbolValue::Tuple) @@ -1066,7 +1066,7 @@ impl SymbolResolver for Resolver { ast::ExprKind::Name { id, .. } => { Python::with_gil(|py| -> PyResult> { let obj: &PyAny = self.0.module.extract(py)?; - let members: &PyDict = obj.getattr("__dict__").unwrap().cast_as().unwrap(); + let members: &PyDict = obj.getattr("__dict__").unwrap().downcast().unwrap(); let mut sym_value = None; for (key, val) in members.iter() { let key: &str = key.extract()?; @@ -1110,7 +1110,7 @@ impl SymbolResolver for Resolver { None => Python::with_gil(|py| -> PyResult> { let obj: &PyAny = self.0.module.extract(py)?; let mut sym_ty = Err(format!("cannot find symbol `{}`", str)); - let members: &PyDict = obj.getattr("__dict__").unwrap().cast_as().unwrap(); + let members: &PyDict = obj.getattr("__dict__").unwrap().downcast().unwrap(); for (key, val) in members.iter() { let key: &str = key.extract()?; if key == str.to_string() { @@ -1145,7 +1145,7 @@ impl SymbolResolver for Resolver { Python::with_gil(|py| -> PyResult> { let obj: &PyAny = self.0.module.extract(py)?; let mut sym_value: Option<(u64, PyObject)> = None; - let members: &PyDict = obj.getattr("__dict__").unwrap().cast_as().unwrap(); + let members: &PyDict = obj.getattr("__dict__").unwrap().downcast().unwrap(); for (key, val) in members.iter() { let key: &str = key.extract()?; if key == id.to_string() { diff --git a/nac3core/Cargo.toml b/nac3core/Cargo.toml index 385f9cbb0..1b6478d65 100644 --- a/nac3core/Cargo.toml +++ b/nac3core/Cargo.toml @@ -5,7 +5,7 @@ authors = ["M-Labs"] edition = "2018" [dependencies] -itertools = "0.10" +itertools = "0.11" crossbeam = "0.8" parking_lot = "0.12" rayon = "1.5" @@ -13,13 +13,13 @@ nac3parser = { path = "../nac3parser" } lazy_static = "1.4" [dependencies.inkwell] -version = "0.1.1" +version = "0.2" default-features = false features = ["llvm14-0", "target-x86", "target-arm", "target-riscv", "no-libffi-linking"] [dev-dependencies] test-case = "1.2.0" -indoc = "1.0" +indoc = "2.0" insta = "=1.11.0" [build-dependencies] diff --git a/nac3parser/Cargo.toml b/nac3parser/Cargo.toml index 4c4ac4a16..e6c96c762 100644 --- a/nac3parser/Cargo.toml +++ b/nac3parser/Cargo.toml @@ -8,17 +8,17 @@ license = "MIT" edition = "2018" [build-dependencies] -lalrpop = "0.19" +lalrpop = "0.20" [dependencies] nac3ast = { path = "../nac3ast" } -lalrpop-util = "0.19" +lalrpop-util = "0.20" log = "0.4" unic-emoji-char = "0.9" unic-ucd-ident = "0.9" -unicode_names2 = "0.5" +unicode_names2 = "1.0" phf = { version = "0.11", features = ["macros"] } -ahash = "0.7" +ahash = "0.8" [dev-dependencies] insta = "=1.11.0" diff --git a/nac3parser/src/error.rs b/nac3parser/src/error.rs index 21497c45c..7d3bc8acc 100644 --- a/nac3parser/src/error.rs +++ b/nac3parser/src/error.rs @@ -170,7 +170,7 @@ impl From> for ParseError { location: token.0, } } - LalrpopError::UnrecognizedEOF { location, .. } => ParseError { + LalrpopError::UnrecognizedEof { location, .. } => ParseError { error: ParseErrorType::Eof, location, }, diff --git a/nac3standalone/Cargo.toml b/nac3standalone/Cargo.toml index d6a320413..79a25b370 100644 --- a/nac3standalone/Cargo.toml +++ b/nac3standalone/Cargo.toml @@ -10,6 +10,6 @@ nac3parser = { path = "../nac3parser" } nac3core = { path = "../nac3core" } [dependencies.inkwell] -version = "0.1.1" +version = "0.2" default-features = false features = ["llvm14-0", "target-x86", "target-arm", "target-riscv", "no-libffi-linking"] diff --git a/runkernel/Cargo.toml b/runkernel/Cargo.toml index cbe235248..54cf6bb95 100644 --- a/runkernel/Cargo.toml +++ b/runkernel/Cargo.toml @@ -5,4 +5,4 @@ authors = ["M-Labs"] edition = "2018" [dependencies] -libloading = "0.7" +libloading = "0.8"