Update to Rust 1.39.0

Summary:
Release notes: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1390-2019-11-07
Dist: https://dev-static.rust-lang.org/dist/2019-11-04/index.html

This diff includes fixes for new warnings inside of targets that set deny(warnings). I will fix any other new warnings in a separate diff to keep this one as small as possible.

- feature(bind_by_move_pattern_guards) has been stabilized
- feature(async_await) has been stabilized
- new warning on duplicate semicolon typos;;
- deprecation of std::mem::uninitialized in favor of MaybeUninit
- adjustment to how locals are captured in non-move async blocks
- soundness fix to disallow Send of fmt::Arguments

Reviewed By: jsgf

Differential Revision: D18358129

fbshipit-source-id: 718b6b7f3e35bf0f3d7098a07739191c862ac82d
This commit is contained in:
David Tolnay 2019-11-07 01:13:36 -08:00 committed by Facebook Github Bot
parent 6eba355c41
commit c455d4739d
7 changed files with 3 additions and 7 deletions

View File

@ -6,7 +6,6 @@
* directory of this source tree.
*/
#![feature(async_await)]
#![deny(warnings)]
use std::sync::Arc;

View File

@ -283,7 +283,7 @@ impl LeaseOps for MemcacheOps {
fn release_lease(&self, key: &str, put_success: bool) -> BoxFuture<(), ()> {
let mc_key = self.presence_keygen.key(key);
LEASE_STATS::release.add_value(1, (self.lease_type,));;
LEASE_STATS::release.add_value(1, (self.lease_type,));
if put_success {
let uploaded = compact_protocol::serialize(&LockState::uploaded_key(key.to_string()));
LEASE_STATS::release_good.add_value(1, (self.lease_type,));

View File

@ -9,7 +9,7 @@
//! Scaffolding that's generally useful to build CLI tools on top of Mononoke.
#![deny(warnings)]
#![feature(never_type, bind_by_move_pattern_guards)]
#![feature(never_type)]
pub mod args;
pub mod helpers;

View File

@ -7,7 +7,6 @@
*/
#![deny(warnings)]
#![feature(async_await)]
#![feature(process_exitcode_placeholder)]
use clap::{App, Arg, SubCommand};

View File

@ -7,7 +7,7 @@
*/
#![recursion_limit = "256"]
#![feature(async_await, async_closure, option_flattening, never_type)]
#![feature(async_closure, option_flattening, never_type)]
#![deny(warnings)]
use clap::Arg;

View File

@ -7,7 +7,6 @@
*/
#![deny(warnings)]
#![feature(async_await)]
use std::collections::HashMap;
use std::sync::Arc;

View File

@ -8,7 +8,6 @@
#![cfg_attr(test, type_length_limit = "2434476")]
#![deny(warnings)]
#![feature(async_await)]
/// Mononoke pushrebase implementation. The main goal of pushrebase is to decrease push contention.
/// Commits that client pushed are rebased on top of `onto_bookmark` on the server