diff --git a/Cargo.lock b/Cargo.lock index 94b6082dfd..bc4f23dc64 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,5 +1,20 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +[[package]] +name = "addr2line" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a49806b9dadc843c61e7c97e72490ad7f7220ae249012fbda9ad0609457c0543" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler32" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b077b825e468cc974f0020d4082ee6e03132512f207ef1a02fd5d00d1f32d" + [[package]] name = "aho-corasick" version = "0.7.10" @@ -37,26 +52,18 @@ checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" [[package]] name = "backtrace" -version = "0.3.45" +version = "0.3.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad235dabf00f36301792cfe82499880ba54c6486be094d1047b02bacb67c14e8" +checksum = "05100821de9e028f12ae3d189176b41ee198341eb8f369956407fea2f5cc666c" dependencies = [ - "backtrace-sys", + "addr2line", "cfg-if", "libc", + "miniz_oxide", + "object", "rustc-demangle", ] -[[package]] -name = "backtrace-sys" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca797db0057bae1a7aa2eef3283a874695455cecf08a43bfb8507ee0ebc1ed69" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "bincode" version = "1.2.1" @@ -83,8 +90,8 @@ dependencies = [ "lazycell", "log", "peeking_take_while", - "proc-macro2 1.0.9", - "quote 1.0.3", + "proc-macro2 1.0.18", + "quote 1.0.7", "regex", "rustc-hash", "shlex", @@ -156,11 +163,11 @@ checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" [[package]] name = "cc" -version = "1.0.41" +version = "1.0.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dae9c4b8fedcae85592ba623c4fd08cfdab3e3b72d6df780c6ead964a69bfff" +checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" dependencies = [ - "rayon", + "jobserver", ] [[package]] @@ -200,9 +207,9 @@ dependencies = [ [[package]] name = "clap" -version = "2.33.0" +version = "2.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" +checksum = "bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129" dependencies = [ "ansi_term", "atty", @@ -252,12 +259,13 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db" +checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" dependencies = [ "cfg-if", "crossbeam-utils", + "maybe-uninit", ] [[package]] @@ -317,9 +325,9 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb582b60359da160a9477ee80f15c8d784c477e69c217ef2cdd4169c24ea380f" dependencies = [ - "proc-macro2 1.0.9", - "quote 1.0.3", - "syn 1.0.16", + "proc-macro2 1.0.18", + "quote 1.0.7", + "syn 1.0.31", ] [[package]] @@ -371,9 +379,9 @@ dependencies = [ [[package]] name = "failure" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8529c2421efa3066a5cbd8063d2244603824daccb6936b079010bb2aa89464b" +checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" dependencies = [ "backtrace", "failure_derive", @@ -381,13 +389,13 @@ dependencies = [ [[package]] name = "failure_derive" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030a733c8287d6213886dd487564ff5c8f6aae10278b3588ed177f9d18f8d231" +checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.9", - "quote 1.0.3", - "syn 1.0.16", + "proc-macro2 1.0.18", + "quote 1.0.7", + "syn 1.0.31", "synstructure", ] @@ -458,6 +466,12 @@ dependencies = [ "wasi", ] +[[package]] +name = "gimli" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" + [[package]] name = "glob" version = "0.3.0" @@ -466,9 +480,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "hermit-abi" -version = "0.1.8" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1010591b26bbfe835e9faeabeb11866061cc7dcebffd56ad7d0942d0e61aefd8" +checksum = "b9586eedd4ce6b3c498bc3b4dd92fc9f11166aa908a914071953768066c67909" dependencies = [ "libc", ] @@ -512,6 +526,15 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" +[[package]] +name = "jobserver" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c71313ebb9439f74b00d9d2dcec36440beaf57a6aa0623068441dd7cd81a7f2" +dependencies = [ + "libc", +] + [[package]] name = "jsonrpc-core" version = "14.2.0" @@ -586,7 +609,7 @@ dependencies = [ "leo-types", "log", "rand", - "sha2 0.8.1", + "sha2 0.8.2", "snarkos-curves", "snarkos-errors", "snarkos-gadgets", @@ -624,9 +647,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.67" +version = "0.2.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb147597cdf94ed43ab7a9038716637d2d1bf2bc571da995d0028dec06bd3018" +checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" [[package]] name = "libloading" @@ -698,6 +721,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "miniz_oxide" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" +dependencies = [ + "adler32", +] + [[package]] name = "nias" version = "0.5.0" @@ -706,9 +738,9 @@ checksum = "ab250442c86f1850815b5d268639dff018c0627022bc1940eb2d642ca1ce12f0" [[package]] name = "nom" -version = "5.1.1" +version = "5.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b471253da97532da4b61552249c521e01e736071f71c1a4f7ebbfbf0a06aad6" +checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" dependencies = [ "memchr", "version_check", @@ -724,6 +756,12 @@ dependencies = [ "libc", ] +[[package]] +name = "object" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5" + [[package]] name = "opaque-debug" version = "0.2.3" @@ -738,9 +776,9 @@ checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" [[package]] name = "openssl-sys" -version = "0.9.57" +version = "0.9.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7410fef80af8ac071d4f63755c0ab89ac3df0fd1ea91f1d1f37cf5cec4395990" +checksum = "a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de" dependencies = [ "autocfg", "cc", @@ -789,15 +827,15 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27e5277315f6b4f27e0e6744feb5d5ba1891e7164871033d3c8344c6783b349a" +checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.9", - "quote 1.0.3", - "syn 1.0.16", + "proc-macro2 1.0.18", + "quote 1.0.7", + "syn 1.0.31", ] [[package]] @@ -819,9 +857,9 @@ checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" [[package]] name = "ppv-lite86" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" +checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" [[package]] name = "proc-macro2" @@ -834,9 +872,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.9" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c09721c6781493a2a492a96b5a5bf19b65917fe6728884e7c44dd0c60ca3435" +checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa" dependencies = [ "unicode-xid 0.2.0", ] @@ -858,11 +896,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.3" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bdc6c187c65bca4260c9011c9e3132efe4909da44726bad24cf7572ae338d7f" +checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" dependencies = [ - "proc-macro2 1.0.9", + "proc-macro2 1.0.18", ] [[package]] @@ -917,10 +955,11 @@ dependencies = [ [[package]] name = "rayon" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098" +checksum = "62f02856753d04e03e26929f820d0a0a337ebe71f849801eea335d464b349080" dependencies = [ + "autocfg", "crossbeam-deque", "either", "rayon-core", @@ -928,9 +967,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9" +checksum = "e92e15d89083484e11353891f1af602cc661426deb9564c298b270c726973280" dependencies = [ "crossbeam-deque", "crossbeam-queue", @@ -947,9 +986,9 @@ checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" [[package]] name = "regex" -version = "1.3.4" +version = "1.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322cf97724bea3ee221b78fe25ac9c46114ebb51747ad5babd51a2fc6a8235a8" +checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6" dependencies = [ "aho-corasick", "memchr", @@ -959,9 +998,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.16" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1132f845907680735a84409c3bebc64d1364a5683ffbce899550cd09d5eaefc1" +checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8" [[package]] name = "rocksdb" @@ -999,9 +1038,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.2" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" [[package]] name = "schannel" @@ -1021,29 +1060,29 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "serde" -version = "1.0.111" +version = "1.0.112" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9124df5b40cbd380080b2cc6ab894c040a3070d995f5c9dc77e18c34a8ae37d" +checksum = "736aac72d1eafe8e5962d1d1c3d99b0df526015ba40915cb3c49d042e92ec243" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.111" +version = "1.0.112" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2c3ac8e6ca1e9c80b8be1023940162bf81ae3cffbb1809474152f2ce1eb250" +checksum = "bf0343ce212ac0d3d6afd9391ac8e9c9efe06b533c8d33f660f6390cc4093f57" dependencies = [ - "proc-macro2 1.0.9", - "quote 1.0.3", - "syn 1.0.16", + "proc-macro2 1.0.18", + "quote 1.0.7", + "syn 1.0.31", ] [[package]] name = "serde_json" -version = "1.0.48" +version = "1.0.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9371ade75d4c2d6cb154141b9752cf3781ec9c05e0e5cf35060e1e70ee7b9c25" +checksum = "ec2c5d7e739bc07a3e73381a39d61fdb5f671c60c1df26a130690665803d8226" dependencies = [ "itoa", "ryu", @@ -1064,9 +1103,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" dependencies = [ "block-buffer 0.7.3", "digest 0.8.1", @@ -1142,9 +1181,9 @@ dependencies = [ name = "snarkos-derives" version = "0.1.0" dependencies = [ - "proc-macro2 1.0.9", - "quote 1.0.3", - "syn 1.0.16", + "proc-macro2 1.0.18", + "quote 1.0.7", + "syn 1.0.31", ] [[package]] @@ -1236,24 +1275,24 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.16" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "123bd9499cfb380418d509322d7a6d52e5315f064fe4b3ad18a53d6b92c07859" +checksum = "b5304cfdf27365b7585c25d4af91b35016ed21ef88f17ced89c7093b43dba8b6" dependencies = [ - "proc-macro2 1.0.9", - "quote 1.0.3", + "proc-macro2 1.0.18", + "quote 1.0.7", "unicode-xid 0.2.0", ] [[package]] name = "synstructure" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" +checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" dependencies = [ - "proc-macro2 1.0.9", - "quote 1.0.3", - "syn 1.0.16", + "proc-macro2 1.0.18", + "quote 1.0.7", + "syn 1.0.31", "unicode-xid 0.2.0", ] @@ -1277,22 +1316,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b13f926965ad00595dd129fa12823b04bbf866e9085ab0a5f2b05b850fbfc344" +checksum = "7dfdd070ccd8ccb78f4ad66bf1982dc37f620ef696c6b5028fe2ed83dd3d0d08" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "893582086c2f98cde18f906265a65b5030a074b1046c674ae898be6519a7f479" +checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793" dependencies = [ - "proc-macro2 1.0.9", - "quote 1.0.3", - "syn 1.0.16", + "proc-macro2 1.0.18", + "quote 1.0.7", + "syn 1.0.31", ] [[package]] @@ -1315,15 +1354,15 @@ dependencies = [ [[package]] name = "typenum" -version = "1.11.2" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9" +checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" [[package]] name = "ucd-trie" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f00ed7be0c1ff1e24f46c3d2af4859f7e863672ba3a6e92e7cff702bf9f06c2" +checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" [[package]] name = "unicode-width" @@ -1345,15 +1384,15 @@ checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" [[package]] name = "vcpkg" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55d1e41d56121e07f1e223db0a4def204e45c85425f6a16d462fd07c8d10d74c" +checksum = "6454029bf181f092ad1b853286f23e2c507d8e8194d01d92da4a55c274a5508c" [[package]] name = "vec_map" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "version_check" @@ -1400,9 +1439,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ "winapi", ] diff --git a/compiler/src/constraints/boolean.rs b/compiler/src/constraints/boolean.rs index 87d6c9b9ce..370df34743 100644 --- a/compiler/src/constraints/boolean.rs +++ b/compiler/src/constraints/boolean.rs @@ -16,8 +16,8 @@ use snarkos_models::{ }, }; -impl, CS: ConstraintSystem> ConstrainedProgram { - pub(crate) fn bool_from_input( +impl> ConstrainedProgram { + pub(crate) fn bool_from_input>( &mut self, cs: &mut CS, name: String, @@ -57,7 +57,7 @@ impl, CS: ConstraintSystem> Constraine } } - pub(crate) fn enforce_or( + pub(crate) fn enforce_or>( &mut self, cs: &mut CS, left: ConstrainedValue, @@ -74,7 +74,7 @@ impl, CS: ConstraintSystem> Constraine } } - pub(crate) fn enforce_and( + pub(crate) fn enforce_and>( &mut self, cs: &mut CS, left: ConstrainedValue, @@ -95,7 +95,7 @@ impl, CS: ConstraintSystem> Constraine ConstrainedValue::Boolean(Boolean::Constant(left.eq(&right))) } - pub(crate) fn enforce_boolean_eq( + pub(crate) fn enforce_boolean_eq>( &mut self, cs: &mut CS, left: Boolean, diff --git a/compiler/src/constraints/expression.rs b/compiler/src/constraints/expression.rs index 2f43070d06..e4b5430214 100644 --- a/compiler/src/constraints/expression.rs +++ b/compiler/src/constraints/expression.rs @@ -27,7 +27,7 @@ use snarkos_models::{ }, }; -impl, CS: ConstraintSystem> ConstrainedProgram { +impl> ConstrainedProgram { /// Enforce a variable expression by getting the resolved value pub(crate) fn evaluate_identifier( &mut self, @@ -56,7 +56,7 @@ impl, CS: ConstraintSystem> Constraine } /// Enforce numerical operations - fn enforce_add_expression( + fn enforce_add_expression>( &mut self, cs: &mut CS, left: ConstrainedValue, @@ -84,7 +84,7 @@ impl, CS: ConstraintSystem> Constraine } } - fn enforce_sub_expression( + fn enforce_sub_expression>( &mut self, cs: &mut CS, left: ConstrainedValue, @@ -112,7 +112,7 @@ impl, CS: ConstraintSystem> Constraine } } - fn enforce_mul_expression( + fn enforce_mul_expression>( &mut self, cs: &mut CS, left: ConstrainedValue, @@ -137,7 +137,7 @@ impl, CS: ConstraintSystem> Constraine } } - fn enforce_div_expression( + fn enforce_div_expression>( &mut self, cs: &mut CS, left: ConstrainedValue, @@ -162,7 +162,7 @@ impl, CS: ConstraintSystem> Constraine } } - fn enforce_pow_expression( + fn enforce_pow_expression>( &mut self, cs: &mut CS, left: ConstrainedValue, @@ -332,7 +332,7 @@ impl, CS: ConstraintSystem> Constraine } /// Enforce ternary conditional expression - fn enforce_conditional_expression( + fn enforce_conditional_expression>( &mut self, cs: &mut CS, file_scope: String, @@ -379,7 +379,7 @@ impl, CS: ConstraintSystem> Constraine } /// Enforce array expressions - fn enforce_array_expression( + fn enforce_array_expression>( &mut self, cs: &mut CS, file_scope: String, @@ -443,7 +443,7 @@ impl, CS: ConstraintSystem> Constraine Ok(ConstrainedValue::Array(result)) } - pub(crate) fn enforce_index( + pub(crate) fn enforce_index>( &mut self, cs: &mut CS, file_scope: String, @@ -457,7 +457,7 @@ impl, CS: ConstraintSystem> Constraine } } - fn enforce_array_access_expression( + fn enforce_array_access_expression>( &mut self, cs: &mut CS, file_scope: String, @@ -490,7 +490,7 @@ impl, CS: ConstraintSystem> Constraine } } - fn enforce_circuit_expression( + fn enforce_circuit_expression>( &mut self, cs: &mut CS, file_scope: String, @@ -553,7 +553,7 @@ impl, CS: ConstraintSystem> Constraine } } - fn enforce_circuit_access_expression( + fn enforce_circuit_access_expression>( &mut self, cs: &mut CS, file_scope: String, @@ -608,7 +608,7 @@ impl, CS: ConstraintSystem> Constraine } } - fn enforce_circuit_static_access_expression( + fn enforce_circuit_static_access_expression>( &mut self, cs: &mut CS, file_scope: String, @@ -655,7 +655,7 @@ impl, CS: ConstraintSystem> Constraine Ok(ConstrainedValue::Function(Some(circuit.identifier), function)) } - fn enforce_function_call_expression( + fn enforce_function_call_expression>( &mut self, cs: &mut CS, file_scope: String, @@ -712,7 +712,7 @@ impl, CS: ConstraintSystem> Constraine /// Enforce a branch of a binary expression. /// We don't care about mutability because we are not changing any variables. /// We try to resolve unresolved types here if the type is given explicitly. - pub(crate) fn enforce_branch( + pub(crate) fn enforce_branch>( &mut self, cs: &mut CS, file_scope: String, @@ -728,7 +728,7 @@ impl, CS: ConstraintSystem> Constraine Ok(branch) } - pub(crate) fn enforce_binary_expression( + pub(crate) fn enforce_binary_expression>( &mut self, cs: &mut CS, file_scope: String, @@ -745,7 +745,7 @@ impl, CS: ConstraintSystem> Constraine Ok((resolved_left, resolved_right)) } - pub(crate) fn enforce_expression( + pub(crate) fn enforce_expression>( &mut self, cs: &mut CS, file_scope: String, diff --git a/compiler/src/constraints/function.rs b/compiler/src/constraints/function.rs index adc8be82a2..2132d99298 100644 --- a/compiler/src/constraints/function.rs +++ b/compiler/src/constraints/function.rs @@ -15,7 +15,7 @@ use snarkos_models::{ gadgets::r1cs::ConstraintSystem, }; -impl, CS: ConstraintSystem> ConstrainedProgram { +impl> ConstrainedProgram { fn check_arguments_length(expected: usize, actual: usize) -> Result<(), FunctionError> { // Make sure we are given the correct number of arguments if expected != actual { @@ -25,7 +25,7 @@ impl, CS: ConstraintSystem> Constraine } } - fn enforce_input( + fn enforce_input>( &mut self, cs: &mut CS, scope: String, @@ -44,7 +44,7 @@ impl, CS: ConstraintSystem> Constraine } } - pub(crate) fn enforce_function( + pub(crate) fn enforce_function>( &mut self, cs: &mut CS, scope: String, @@ -102,7 +102,7 @@ impl, CS: ConstraintSystem> Constraine Ok(return_values) } - fn allocate_array( + fn allocate_array>( &mut self, cs: &mut CS, name: String, @@ -148,7 +148,7 @@ impl, CS: ConstraintSystem> Constraine Ok(ConstrainedValue::Array(array_value)) } - fn allocate_main_function_input( + fn allocate_main_function_input>( &mut self, cs: &mut CS, _type: Type, @@ -172,7 +172,7 @@ impl, CS: ConstraintSystem> Constraine } } - pub(crate) fn enforce_main_function( + pub(crate) fn enforce_main_function>( &mut self, cs: &mut CS, scope: String, @@ -207,7 +207,11 @@ impl, CS: ConstraintSystem> Constraine self.enforce_function(cs, scope, function_name, function, input_variables) } - pub(crate) fn resolve_definitions(&mut self, cs: &mut CS, program: Program) -> Result<(), ImportError> { + pub(crate) fn resolve_definitions>( + &mut self, + cs: &mut CS, + program: Program, + ) -> Result<(), ImportError> { let program_name = program.name.clone(); // evaluate and store all imports diff --git a/compiler/src/constraints/import.rs b/compiler/src/constraints/import.rs index 6c4909a777..04f8491005 100644 --- a/compiler/src/constraints/import.rs +++ b/compiler/src/constraints/import.rs @@ -13,8 +13,13 @@ use snarkos_models::{ }; use std::env::current_dir; -impl, CS: ConstraintSystem> ConstrainedProgram { - pub fn enforce_import(&mut self, cs: &mut CS, scope: String, import: Import) -> Result<(), ImportError> { +impl> ConstrainedProgram { + pub fn enforce_import>( + &mut self, + cs: &mut CS, + scope: String, + import: Import, + ) -> Result<(), ImportError> { let path = current_dir().map_err(|error| ImportError::DirectoryError(error))?; // Sanitize the package path to the imports directory diff --git a/compiler/src/constraints/mod.rs b/compiler/src/constraints/mod.rs index 1095a54fa6..c4c5c6494f 100644 --- a/compiler/src/constraints/mod.rs +++ b/compiler/src/constraints/mod.rs @@ -64,7 +64,7 @@ pub fn generate_test_constraints>( cs: &mut TestConstraintSystem, program: Program, ) -> Result<(), CompilerError> { - let mut resolved_program = ConstrainedProgram::>::new(); + let mut resolved_program = ConstrainedProgram::::new(); let program_name = program.get_name(); let tests = program.tests.clone(); diff --git a/compiler/src/constraints/program.rs b/compiler/src/constraints/program.rs index e1648b2810..3071720e8a 100644 --- a/compiler/src/constraints/program.rs +++ b/compiler/src/constraints/program.rs @@ -2,26 +2,21 @@ use crate::{constraints::ConstrainedValue, GroupType}; -use snarkos_models::{ - curves::{Field, PrimeField}, - gadgets::r1cs::ConstraintSystem, -}; -use std::{collections::HashMap, marker::PhantomData}; +use snarkos_models::curves::{Field, PrimeField}; +use std::collections::HashMap; -pub struct ConstrainedProgram, CS: ConstraintSystem> { +pub struct ConstrainedProgram> { pub identifiers: HashMap>, - pub _cs: PhantomData, } pub fn new_scope(outer: String, inner: String) -> String { format!("{}_{}", outer, inner) } -impl, CS: ConstraintSystem> ConstrainedProgram { +impl> ConstrainedProgram { pub fn new() -> Self { Self { identifiers: HashMap::new(), - _cs: PhantomData::, } } diff --git a/compiler/src/constraints/statement.rs b/compiler/src/constraints/statement.rs index 2b7e43633f..d923080a03 100644 --- a/compiler/src/constraints/statement.rs +++ b/compiler/src/constraints/statement.rs @@ -27,7 +27,7 @@ use snarkos_models::{ }, }; -impl, CS: ConstraintSystem> ConstrainedProgram { +impl> ConstrainedProgram { fn resolve_assignee(&mut self, scope: String, assignee: Assignee) -> String { match assignee { Assignee::Identifier(name) => new_scope(scope, name.to_string()), @@ -47,7 +47,7 @@ impl, CS: ConstraintSystem> Constraine }) } - fn mutate_array( + fn mutate_array>( &mut self, cs: &mut CS, file_scope: String, @@ -125,7 +125,7 @@ impl, CS: ConstraintSystem> Constraine Ok(()) } - fn enforce_assign_statement( + fn enforce_assign_statement>( &mut self, cs: &mut CS, file_scope: String, @@ -180,7 +180,7 @@ impl, CS: ConstraintSystem> Constraine Ok(()) } - fn enforce_definition_statement( + fn enforce_definition_statement>( &mut self, cs: &mut CS, file_scope: String, @@ -203,7 +203,7 @@ impl, CS: ConstraintSystem> Constraine self.store_definition(function_scope, variable, value) } - fn enforce_multiple_definition_statement( + fn enforce_multiple_definition_statement>( &mut self, cs: &mut CS, file_scope: String, @@ -243,7 +243,7 @@ impl, CS: ConstraintSystem> Constraine Ok(()) } - fn enforce_return_statement( + fn enforce_return_statement>( &mut self, cs: &mut CS, file_scope: String, @@ -276,7 +276,7 @@ impl, CS: ConstraintSystem> Constraine Ok(ConstrainedValue::Return(returns)) } - fn iterate_or_early_return( + fn iterate_or_early_return>( &mut self, cs: &mut CS, file_scope: String, @@ -302,7 +302,7 @@ impl, CS: ConstraintSystem> Constraine Ok(res) } - fn enforce_conditional_statement( + fn enforce_conditional_statement>( &mut self, cs: &mut CS, file_scope: String, @@ -340,7 +340,7 @@ impl, CS: ConstraintSystem> Constraine } } - fn enforce_for_statement( + fn enforce_for_statement>( &mut self, cs: &mut CS, file_scope: String, @@ -378,7 +378,7 @@ impl, CS: ConstraintSystem> Constraine Ok(res) } - fn enforce_assert_eq_statement( + fn enforce_assert_eq_statement>( &mut self, cs: &mut CS, left: ConstrainedValue, @@ -406,7 +406,7 @@ impl, CS: ConstraintSystem> Constraine }) } - pub(crate) fn enforce_statement( + pub(crate) fn enforce_statement>( &mut self, cs: &mut CS, file_scope: String, diff --git a/compiler/tests/field/mod.rs b/compiler/tests/field/mod.rs index 1c2c9f889b..db3bf89491 100644 --- a/compiler/tests/field/mod.rs +++ b/compiler/tests/field/mod.rs @@ -16,7 +16,7 @@ use leo_types::InputValue; use snarkos_curves::edwards_bls12::Fq; use snarkos_gadgets::curves::edwards_bls12::FqGadget; use snarkos_models::{ - curves::{Field, PrimeField}, + curves::{One, PrimeField, Zero}, gadgets::{ curves::field::FieldGadget, r1cs::{ConstraintSystem, TestConstraintSystem}, diff --git a/compiler/tests/group/mod.rs b/compiler/tests/group/mod.rs index 46aeea7a51..f0c32488b1 100644 --- a/compiler/tests/group/mod.rs +++ b/compiler/tests/group/mod.rs @@ -12,7 +12,7 @@ use leo_types::InputValue; use snarkos_curves::edwards_bls12::{EdwardsAffine, Fq}; use snarkos_gadgets::curves::edwards_bls12::EdwardsBlsGadget; use snarkos_models::{ - curves::Group, + curves::Zero, gadgets::{r1cs::TestConstraintSystem, utilities::alloc::AllocGadget}, }; use std::str::FromStr; diff --git a/types/src/inputs/input_fields.rs b/types/src/inputs/input_fields.rs index 30f3324b55..2f1157ddd3 100644 --- a/types/src/inputs/input_fields.rs +++ b/types/src/inputs/input_fields.rs @@ -1,7 +1,7 @@ use crate::InputValue; use leo_inputs::{types::IntegerType, InputParserError}; -use snarkos_models::curves::{Field, PairingEngine}; +use snarkos_models::curves::{One, PairingEngine, Zero}; use std::str::FromStr; pub struct InputFields(pub Vec);