{"action":"created","issue":{"url":"https://api.github.com/repos/mimblewimble/grin/issues/1076","repository_url":"https://api.github.com/repos/mimblewimble/grin","labels_url":"https://api.github.com/repos/mimblewimble/grin/issues/1076/labels{/name}","comments_url":"https://api.github.com/repos/mimblewimble/grin/issues/1076/comments","events_url":"https://api.github.com/repos/mimblewimble/grin/issues/1076/events","html_url":"https://github.com/mimblewimble/grin/issues/1076","id":325056935,"number":1076,"title":"grin_wallet compilation error - `impl Trait` in return position is experimental (see issue #34511)","user":{"login":"Thireus","id":721759,"avatar_url":"https://avatars2.githubusercontent.com/u/721759?v=4","gravatar_id":"","url":"https://api.github.com/users/Thireus","html_url":"https://github.com/Thireus","followers_url":"https://api.github.com/users/Thireus/followers","following_url":"https://api.github.com/users/Thireus/following{/other_user}","gists_url":"https://api.github.com/users/Thireus/gists{/gist_id}","starred_url":"https://api.github.com/users/Thireus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Thireus/subscriptions","organizations_url":"https://api.github.com/users/Thireus/orgs","repos_url":"https://api.github.com/users/Thireus/repos","events_url":"https://api.github.com/users/Thireus/events{/privacy}","received_events_url":"https://api.github.com/users/Thireus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-05-21T20:57:21Z","updated_at":"2018-05-22T13:22:28Z","closed_at":null,"author_association":"NONE","body":"```\r\n   Compiling grin_wallet v0.2.0 (file:///home/thireus/grin/wallet)\r\nerror[E0658]: `impl Trait` in return position is experimental (see issue #34511)\r\n  --> wallet/src/grinwallet/selection.rs:39:34\r\n   |\r\n39 | ) -> Result<(transaction::Slate, impl FnOnce() -> Result<(), Error>), Error> {\r\n   |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nerror[E0658]: `impl Trait` in return position is experimental (see issue #34511)\r\n   --> wallet/src/grinwallet/selection.rs:110:26\r\n    |\r\n110 | ) -> Result<(Identifier, impl FnOnce() -> Result<(), Error>), Error> {\r\n    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: unused import: `rand::thread_rng`\r\n  --> wallet/src/grinwallet/keys.rs:16:5\r\n   |\r\n16 | use rand::thread_rng;\r\n   |     ^^^^^^^^^^^^^^^^\r\n   |\r\n   = note: #[warn(unused_imports)] on by default\r\n\r\nwarning: unused import: `uuid::Uuid`\r\n  --> wallet/src/grinwallet/keys.rs:17:5\r\n   |\r\n17 | use uuid::Uuid;\r\n   |     ^^^^^^^^^^\r\n\r\nwarning: unused imports: `Committed`, `Transaction`, `amount_to_hr_string`\r\n  --> wallet/src/grinwallet/keys.rs:19:18\r\n   |\r\n19 | use core::core::{amount_to_hr_string, Committed, Transaction};\r\n   |                  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^\r\n\r\nwarning: unused import: `failure::ResultExt`\r\n  --> wallet/src/grinwallet/keys.rs:20:5\r\n   |\r\n20 | use failure::ResultExt;\r\n   |     ^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: unused imports: `BlindSum`, `BlindingFactor`\r\n  --> wallet/src/grinwallet/keys.rs:21:16\r\n   |\r\n21 | use keychain::{BlindSum, BlindingFactor, Identifier, Keychain};\r\n   |                ^^^^^^^^  ^^^^^^^^^^^^^^\r\n\r\nwarning: unused imports: `aggsig`, `build`\r\n  --> wallet/src/grinwallet/keys.rs:22:17\r\n   |\r\n22 | use libwallet::{aggsig, build};\r\n   |                 ^^^^^^  ^^^^^\r\n\r\nwarning: unused import: `util::secp::Signature`\r\n  --> wallet/src/grinwallet/keys.rs:24:5\r\n   |\r\n24 | use util::secp::Signature;\r\n   |     ^^^^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: unused imports: `PublicKey`, `SecretKey`\r\n  --> wallet/src/grinwallet/keys.rs:25:23\r\n   |\r\n25 | use util::secp::key::{PublicKey, SecretKey};\r\n   |                       ^^^^^^^^^  ^^^^^^^^^\r\n\r\nwarning: unused imports: `LOGGER`, `secp`\r\n  --> wallet/src/grinwallet/keys.rs:26:12\r\n   |\r\n26 | use util::{secp, LOGGER};\r\n   |            ^^^^  ^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::aggsig::sign_single': underlying aggsig api still subject to review and change\r\n   --> wallet/src/libwallet/aggsig.rs:293:12\r\n    |\r\n293 |     let sig = aggsig::sign_single(secp, &msg, &skey, None, None, None)?;\r\n    |               ^^^^^^^^^^^^^^^^^^^\r\n    |\r\n    = note: #[warn(deprecated)] on by default\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::aggsig::verify_single': underlying aggsig api still subject to review and change\r\n   --> wallet/src/libwallet/aggsig.rs:307:2\r\n    |\r\n307 |     aggsig::verify_single(secp, &sig, &msg, None, &pubkey, false)\r\n    |     ^^^^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::aggsig::verify_single': underlying aggsig api still subject to review and change\r\n   --> wallet/src/libwallet/aggsig.rs:331:2\r\n    |\r\n331 |     aggsig::verify_single(secp, sig, msg, pubnonce, pubkey, is_partial)\r\n    |     ^^^^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::aggsig::add_signatures_single': underlying aggsig api still subject to review and change\r\n   --> wallet/src/libwallet/aggsig.rs:341:12\r\n    |\r\n341 |     let sig = aggsig::add_signatures_single(&secp, part_sigs, &nonce_sum)?;\r\n    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::aggsig::sign_single': underlying aggsig api still subject to review and change\r\n   --> wallet/src/libwallet/aggsig.rs:352:12\r\n    |\r\n352 |     let sig = aggsig::sign_single(secp, &msg, skey, None, None, None)?;\r\n    |               ^^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::aggsig::export_secnonce_single': underlying aggsig api still subject to review and change\r\n  --> wallet/src/libwallet/aggsig.rs:95:17\r\n   |\r\n95 |                     sec_nonce: aggsig::export_secnonce_single(secp).unwrap(),\r\n   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::aggsig::sign_single': underlying aggsig api still subject to review and change\r\n   --> wallet/src/libwallet/aggsig.rs:165:13\r\n    |\r\n165 |         let sig = aggsig::sign_single(secp, msg, &self.sec_key, secnonce, pubnonce, nonce_sum)?;\r\n    |                   ^^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::aggsig::add_signatures_single': underlying aggsig api still subject to review and change\r\n   --> wallet/src/libwallet/aggsig.rs:253:13\r\n    |\r\n253 |         let sig = aggsig::add_signatures_single(&secp, part_sigs, &nonce_sum)?;\r\n    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::pedersen::<impl util::<unnamed>::Secp256k1>::bullet_proof': Experimental - underlying code unreviewed and subject to change\r\n  --> wallet/src/libwallet/proof.rs:53:22\r\n   |\r\n53 |         return Ok(k.secp().bullet_proof(amount, skey, nonce, extra_data, None));\r\n   |                            ^^^^^^^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::pedersen::<impl util::<unnamed>::Secp256k1>::bullet_proof': Experimental - underlying code unreviewed and subject to change\r\n  --> wallet/src/libwallet/proof.rs:63:4\r\n   |\r\n63 |         .bullet_proof(amount, skey, nonce, extra_data, Some(msg)));\r\n   |          ^^^^^^^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::pedersen::<impl util::<unnamed>::Secp256k1>::verify_bullet_proof': Experimental - underlying code unreviewed and subject to change\r\n  --> wallet/src/libwallet/proof.rs:72:20\r\n   |\r\n72 |     let result = secp.verify_bullet_proof(commit, proof, extra_data);\r\n   |                       ^^^^^^^^^^^^^^^^^^^\r\n\r\nwarning: use of deprecated item 'util::<unnamed>::pedersen::<impl util::<unnamed>::Secp256k1>::unwind_bullet_proof': Experimental - underlying code unreviewed and subject to change\r\n  --> wallet/src/libwallet/proof.rs:89:4\r\n   |\r\n89 |         .unwind_bullet_proof(commit, skey, nonce, extra_data, proof);\r\n   |          ^^^^^^^^^^^^^^^^^^^\r\n\r\nerror: aborting due to 2 previous errors\r\n\r\nerror: Could not compile `grin_wallet`.\r\n\r\n```\r\n\r\nFor reference:\r\n\r\n```\r\nrustc --version\r\nrustc 1.25.0 (84203cac6 2018-03-25)\r\n```"},"comment":{"url":"https://api.github.com/repos/mimblewimble/grin/issues/comments/390987770","html_url":"https://github.com/mimblewimble/grin/issues/1076#issuecomment-390987770","issue_url":"https://api.github.com/repos/mimblewimble/grin/issues/1076","id":390987770,"user":{"login":"sesam","id":8921,"avatar_url":"https://avatars0.githubusercontent.com/u/8921?v=4","gravatar_id":"","url":"https://api.github.com/users/sesam","html_url":"https://github.com/sesam","followers_url":"https://api.github.com/users/sesam/followers","following_url":"https://api.github.com/users/sesam/following{/other_user}","gists_url":"https://api.github.com/users/sesam/gists{/gist_id}","starred_url":"https://api.github.com/users/sesam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sesam/subscriptions","organizations_url":"https://api.github.com/users/sesam/orgs","repos_url":"https://api.github.com/users/sesam/repos","events_url":"https://api.github.com/users/sesam/events{/privacy}","received_events_url":"https://api.github.com/users/sesam/received_events","type":"User","site_admin":false},"created_at":"2018-05-22T13:22:28Z","updated_at":"2018-05-22T13:22:28Z","author_association":"CONTRIBUTOR","body":"TL;DR of https://github.com/rust-lang-nursery/rustup.rs/issues/1410 is\r\n - 1.25 works on ARM - with minor complications\r\n - 1.26 fails, fixed in latest beta https://github.com/rust-lang-nursery/rustup.rs/issues/1410#issuecomment-388647404\r\n - 1.27 for ARM will have the fix\r\n\r\nThere are nice features in 1.26 - aka latest stable - mentioned as OK to use before ARM rustc troubles were known.\r\n\r\nSolution seem to be to wait for 1.27, then hardcode rustc to 1.27 and hope everything works everywhere.\r\n\r\nThen do some testing each time we want to raise rustc version. I.e. more work.\r\n\r\nI think this would be a great topic to debate today at 22.00 UTC in https://gitter.im/grin_community/dev"}}
{"actor":{"display_login":"sesam"}}