diff --git a/Cargo.lock b/Cargo.lock index 2d338fe..76b5c75 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,11 +23,23 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + [[package]] name = "anyhow" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" [[package]] name = "autocfg" @@ -61,39 +73,17 @@ dependencies = [ "nix", ] -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "block-padding", - "generic-array", -] - -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - [[package]] name = "cc" -version = "1.0.89" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" [[package]] name = "cfg-if" @@ -107,15 +97,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - [[package]] name = "crunchy" version = "0.2.2" @@ -135,15 +116,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - [[package]] name = "either" version = "1.10.0" @@ -152,9 +124,9 @@ checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "els" -version = "0.1.44" +version = "0.1.45-nightly.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff8a880e77753c2295152a0f959443ca77f54500b1b0ec388d2db43e38ae1b3f" +checksum = "49404b037f820c6e8b8a15584af22a5fccabe74d519357ba3766921fb5e3d5e3" dependencies = [ "erg_common", "erg_compiler", @@ -164,23 +136,11 @@ dependencies = [ "serde_json", ] -[[package]] -name = "embed-doc-image" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af36f591236d9d822425cb6896595658fa558fcebf5ee8accac1d4b92c47166e" -dependencies = [ - "base64", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "erg_common" -version = "0.6.32" +version = "0.6.33-nightly.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d330ffda29dbe8dcf0da2f8b40ac2f4f1c2bd2845bfba2c33ecb2c3b1300ae49" +checksum = "8664ce92ba1d715ca25d6dbb8079edf0a4d68fb11a53725fdab8f3e689c93f7c" dependencies = [ "backtrace-on-stack-overflow", "erg_proc_macros", @@ -190,9 +150,9 @@ dependencies = [ [[package]] name = "erg_compiler" -version = "0.6.32" +version = "0.6.33-nightly.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd25033c641d5b91f358a78586537adf9a0ec0332a7a39f815985c132150357" +checksum = "4d242a00905c54ffe9427889277a99f782f0e5a8eb8a6e508a45d40dca075f1e" dependencies = [ "erg_common", "erg_parser", @@ -200,9 +160,9 @@ dependencies = [ [[package]] name = "erg_parser" -version = "0.6.32" +version = "0.6.33-nightly.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73e637bdd8b56b8d58aad17730fc6140aa3849da2baf6ef7264caac12d634ace" +checksum = "762fe7e8e90c34e834f1c37ee00db1a3b004a45f57efbbc9689a93443e77e51f" dependencies = [ "erg_common", "erg_proc_macros", @@ -211,9 +171,9 @@ dependencies = [ [[package]] name = "erg_proc_macros" -version = "0.6.32" +version = "0.6.33-nightly.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4d1e9259b6cc91ebfc7ef7bab0e11f2c5d2f2b0828619c7798996c710d7a32e" +checksum = "8d0aa1b2d6dd1f6d22553926c4d7054a1ba2419cf27db8913925b7fddbbba48d" dependencies = [ "quote", "syn 1.0.109", @@ -229,20 +189,19 @@ dependencies = [ ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "getopts" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" dependencies = [ - "typenum", - "version_check", + "unicode-width", ] [[package]] name = "getrandom" -version = "0.1.16" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "libc", @@ -255,6 +214,15 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +dependencies = [ + "ahash", +] + [[package]] name = "idna" version = "0.5.0" @@ -267,31 +235,21 @@ dependencies = [ [[package]] name = "is-macro" -version = "0.2.2" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7d079e129b77477a49c5c4f1cfe9ce6c2c909ef52520693e8e811a714c7b20" +checksum = "59a85abdc13717906baccb5a1e435556ce0df215f242892f721dff62bf25288f" dependencies = [ "Inflector", - "pmutil", "proc-macro2", "quote", - "syn 1.0.109", -] - -[[package]] -name = "itertools" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" -dependencies = [ - "either", + "syn 2.0.52", ] [[package]] name = "itertools" -version = "0.10.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" dependencies = [ "either", ] @@ -302,15 +260,6 @@ version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" -[[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -dependencies = [ - "cpufeatures", -] - [[package]] name = "lalrpop-util" version = "0.20.2" @@ -323,6 +272,12 @@ version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + [[package]] name = "lock_api" version = "0.4.11" @@ -354,9 +309,9 @@ dependencies = [ [[package]] name = "malachite" -version = "0.3.2" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6cf7f4730c30071ba374fac86ad35b1cb7a0716f774737768667ea3fa1828e3" +checksum = "53ff327de42075f680ba15c5cb3c417687eb7241ce2063a91d0186ce5c5e77ee" dependencies = [ "malachite-base", "malachite-nz", @@ -365,22 +320,21 @@ dependencies = [ [[package]] name = "malachite-base" -version = "0.3.2" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b06bfa98a4b4802af5a4263b4ad4660e28e51e8490f6354eb9336c70767e1c5" +checksum = "e960ee0e7e1b8eec9229f5b20d6b191762574225144ea638eb961d065c97b55d" dependencies = [ - "itertools 0.9.0", - "rand 0.7.3", - "rand_chacha", + "hashbrown", + "itertools", + "libm", "ryu", - "sha3", ] [[package]] name = "malachite-bigint" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a5110aee54537b0cef214efbebdd7df79b7408db8eef4f6a4b6db9d0d8fc01b" +checksum = "17703a19c80bbdd0b7919f0f104f3b0597f7de4fc4e90a477c15366a5ba03faa" dependencies = [ "derive_more", "malachite", @@ -391,22 +345,22 @@ dependencies = [ [[package]] name = "malachite-nz" -version = "0.3.2" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89e21c64b7af5be3dc8cef16f786243faf59459fe4ba93b44efdeb264e5ade4" +checksum = "770aaf1a4d59a82ed3d8644eb66aff7492a6dd7476def275a922d04d77ca8e57" dependencies = [ - "embed-doc-image", - "itertools 0.9.0", + "itertools", + "libm", "malachite-base", ] [[package]] name = "malachite-q" -version = "0.3.2" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3755e541d5134b5016594c9043094172c4dda9259b3ce824a7b8101941850360" +checksum = "33a9dfca114f6b582595990ccfc287cace633aa95f890ade5b1fc099b7175d3b" dependencies = [ - "itertools 0.9.0", + "itertools", "malachite-base", "malachite-nz", ] @@ -492,12 +446,6 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - [[package]] name = "parking_lot" version = "0.12.1" @@ -559,7 +507,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ "phf_shared", - "rand 0.8.5", + "rand", ] [[package]] @@ -571,17 +519,6 @@ dependencies = [ "siphasher", ] -[[package]] -name = "pmutil" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3894e5d549cccbe44afecf72922f277f603cd4bb0219c8342631ef18fffbe004" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -590,9 +527,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -628,45 +565,25 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom", - "libc", - "rand_chacha", - "rand_core 0.5.1", - "rand_hc", -] - [[package]] name = "rand" version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "rand_core 0.6.4", + "libc", + "rand_chacha", + "rand_core", ] [[package]] name = "rand_chacha" -version = "0.2.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom", + "rand_core", ] [[package]] @@ -674,14 +591,8 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" dependencies = [ - "rand_core 0.5.1", + "getrandom", ] [[package]] @@ -716,9 +627,8 @@ dependencies = [ [[package]] name = "rustpython-ast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf9438da3660e6b88bd659fdc0cd13bcff4b85c584026a48b800c75bf0f8d00" +version = "0.3.1" +source = "git+https://github.com/RustPython/Parser#9ce55aefdeb35e2f706ce0b02d5a2dfe6295fc57" dependencies = [ "is-macro", "malachite-bigint", @@ -728,13 +638,12 @@ dependencies = [ [[package]] name = "rustpython-parser" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9db993974ff12f33c5be8a801741463691502f85ead5c503277937c4077bd92a" +version = "0.3.1" +source = "git+https://github.com/RustPython/Parser#9ce55aefdeb35e2f706ce0b02d5a2dfe6295fc57" dependencies = [ "anyhow", "is-macro", - "itertools 0.10.5", + "itertools", "lalrpop-util", "log", "malachite-bigint", @@ -752,9 +661,8 @@ dependencies = [ [[package]] name = "rustpython-parser-core" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e9d560c6dd4dc774d4bbad48c770e074c178c4ed5f6fd0521fcdb639af21bdd" +version = "0.3.1" +source = "git+https://github.com/RustPython/Parser#9ce55aefdeb35e2f706ce0b02d5a2dfe6295fc57" dependencies = [ "is-macro", "memchr", @@ -763,9 +671,8 @@ dependencies = [ [[package]] name = "rustpython-parser-vendored" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ae3062d7fe5fe38073f3a1c7145ed9a04e15f6e4a596d642c7db2d5cd2b51b" +version = "0.3.1" +source = "git+https://github.com/RustPython/Parser#9ce55aefdeb35e2f706ce0b02d5a2dfe6295fc57" dependencies = [ "memchr", "once_cell", @@ -831,18 +738,6 @@ dependencies = [ "syn 2.0.52", ] -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer", - "digest", - "keccak", - "opaque-debug", -] - [[package]] name = "siphasher" version = "0.3.11" @@ -917,12 +812,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - [[package]] name = "unic-char-property" version = "0.9.0" @@ -996,6 +885,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + [[package]] name = "unicode-xid" version = "0.2.4" @@ -1004,9 +899,25 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "unicode_names2" -version = "0.6.0" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addeebf294df7922a1164f729fb27ebbbcea99cc32b3bf08afab62757f707677" +dependencies = [ + "phf", + "unicode_names2_generator", +] + +[[package]] +name = "unicode_names2_generator" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446c96c6dd42604779487f0a981060717156648c1706aa1f464677f03c6cc059" +checksum = "f444b8bba042fe3c1251ffaca35c603f2dc2ccc08d595c65a8c4f76f3e8426c0" +dependencies = [ + "getopts", + "log", + "phf_codegen", + "rand", +] [[package]] name = "url" @@ -1028,9 +939,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "windows-targets" @@ -1088,3 +999,23 @@ name = "windows_x86_64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.52", +] diff --git a/Cargo.toml b/Cargo.toml index b085a80..7eb6033 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,13 +22,13 @@ edition = "2021" repository = "https://github.com/mtshiba/pylyzer" [workspace.dependencies] -erg_common = { version = "0.6.32", features = ["py_compat", "els"] } -erg_compiler = { version = "0.6.32", features = ["py_compat", "els"] } -els = { version = "0.1.44", features = ["py_compat"] } -rustpython-parser = { version = "0.3.0", features = ["all-nodes-with-ranges", "location"] } -rustpython-ast = { version = "0.3.0", features = ["all-nodes-with-ranges", "location"] } -# rustpython-parser = { git = "https://github.com/RustPython/Parser", version = "0.3.0", features = ["all-nodes-with-ranges", "location"] } -# rustpython-ast = { git = "https://github.com/RustPython/Parser", version = "0.3.0", features = ["all-nodes-with-ranges", "location"] } +erg_common = { version = "0.6.33-nightly.2", features = ["py_compat", "els"] } +erg_compiler = { version = "0.6.33-nightly.2", features = ["py_compat", "els"] } +els = { version = "0.1.45-nightly.2", features = ["py_compat"] } +# rustpython-parser = { version = "0.3.0", features = ["all-nodes-with-ranges", "location"] } +# rustpython-ast = { version = "0.3.0", features = ["all-nodes-with-ranges", "location"] } +rustpython-parser = { git = "https://github.com/RustPython/Parser", version = "0.3.1", features = ["all-nodes-with-ranges", "location"] } +rustpython-ast = { git = "https://github.com/RustPython/Parser", version = "0.3.1", features = ["all-nodes-with-ranges", "location"] } # erg_compiler = { git = "https://github.com/erg-lang/erg", branch = "main", features = ["py_compat", "els"] } # erg_common = { git = "https://github.com/erg-lang/erg", branch = "main", features = ["py_compat", "els"] } # els = { git = "https://github.com/erg-lang/erg", branch = "main", features = ["py_compat"] } diff --git a/README.md b/README.md index 8c8ab83..dd2ae1a 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,11 @@ pip install pylyzer cargo install pylyzer --locked ``` +> [!WARNING] +> Currently, the stable version of pylyzer cannot be installed with rustc >= 1.76.0 due to a dependency problem. +> Ref: +> You can install the latest version from the source. + ### build from source ```bash diff --git a/crates/py2erg/gen_decl.rs b/crates/py2erg/gen_decl.rs index 51eb1ce..d97be8c 100644 --- a/crates/py2erg/gen_decl.rs +++ b/crates/py2erg/gen_decl.rs @@ -1,8 +1,10 @@ use std::fs::File; use std::io::{BufWriter, Write}; +use std::path::Path; use erg_common::io::Input; use erg_common::log; +use erg_common::pathutil::mod_name; use erg_common::traits::LimitedDisplay; use erg_compiler::build_package::{CheckStatus, PylyzerStatus}; use erg_compiler::hir::{Expr, HIR, ClassDef}; @@ -73,10 +75,11 @@ impl DeclFileGenerator { // `import http.client` => `http = pyimport "http"` let decl = if ref_t.is_py_module() { name = name.split('.').next().unwrap().to_string(); + let full_path_str = ref_t.typarams()[0].to_string_unabbreviated(); + let mod_name = mod_name(Path::new(full_path_str.trim_matches('"'))); format!( - "{}.{name} = pyimport {}", + "{}.{name} = pyimport \"{mod_name}\"", self.namespace, - ref_t.typarams()[0] ) } else { format!("{}.{name}: {typ}", self.namespace) diff --git a/src/config.rs b/src/config.rs index fd85ba8..4573bf4 100644 --- a/src/config.rs +++ b/src/config.rs @@ -74,7 +74,11 @@ OPTIONS pub(crate) fn parse_args() -> ErgConfig { let mut args = env::args(); args.next(); // "pylyzer" - let mut cfg = ErgConfig::default(); + let mut cfg = ErgConfig { + effect_check: false, + ownership_check: false, + ..ErgConfig::default() + }; while let Some(arg) = args.next() { match &arg[..] { "--" => { diff --git a/tests/test.py b/tests/test.py index 86593f7..ca78a3b 100644 --- a/tests/test.py +++ b/tests/test.py @@ -10,9 +10,8 @@ def add2(x: int, y: int) -> str: # ERR print(add2(1, 2)) -# ERR for i in [1, 2, 3]: - j = i + "aa" + j = i + "aa" # ERR print(j) a: int # OK