Auto merge of #5400 - flip1995:rustup, r=Manishearth

Rustups

r? @Manishearth

changelog: none
This commit is contained in:
bors 2020-04-01 18:51:38 +00:00
commit 326b22048a
9 changed files with 17 additions and 17 deletions

View File

@ -922,7 +922,7 @@ fn get_assignment<'a, 'tcx>(
.chain(expr.as_ref().into_iter().map(|e| Some(get_assignment(cx, &*e, var)))) .chain(expr.as_ref().into_iter().map(|e| Some(get_assignment(cx, &*e, var))))
.filter_map(|op| op) .filter_map(|op| op)
.collect::<Option<Vec<_>>>() .collect::<Option<Vec<_>>>()
.unwrap_or_else(|| vec![]) .unwrap_or_default()
} else { } else {
get_assignment(cx, body, var).into_iter().collect() get_assignment(cx, body, var).into_iter().collect()
} }

View File

@ -437,7 +437,7 @@ fn call_return_effect(
_block: mir::BasicBlock, _block: mir::BasicBlock,
_func: &mir::Operand<'tcx>, _func: &mir::Operand<'tcx>,
_args: &[mir::Operand<'tcx>], _args: &[mir::Operand<'tcx>],
_return_place: &mir::Place<'tcx>, _return_place: mir::Place<'tcx>,
) { ) {
// Nothing to do when a call returns successfully // Nothing to do when a call returns successfully
} }

View File

@ -280,6 +280,9 @@ pub fn vec_macro<'e>(cx: &LateContext<'_, '_>, expr: &'e hir::Expr<'_>) -> Optio
None None
} }
else if match_def_path(cx, fun_def_id, &paths::VEC_NEW) && args.is_empty() {
Some(VecArgs::Vec(&[]))
}
else { else {
None None
}; };

View File

@ -131,5 +131,6 @@
pub const VEC_AS_SLICE: [&str; 4] = ["alloc", "vec", "Vec", "as_slice"]; pub const VEC_AS_SLICE: [&str; 4] = ["alloc", "vec", "Vec", "as_slice"];
pub const VEC_DEQUE: [&str; 4] = ["alloc", "collections", "vec_deque", "VecDeque"]; pub const VEC_DEQUE: [&str; 4] = ["alloc", "collections", "vec_deque", "VecDeque"];
pub const VEC_FROM_ELEM: [&str; 3] = ["alloc", "vec", "from_elem"]; pub const VEC_FROM_ELEM: [&str; 3] = ["alloc", "vec", "from_elem"];
pub const VEC_NEW: [&str; 4] = ["alloc", "vec", "Vec", "new"];
pub const WEAK_ARC: [&str; 3] = ["alloc", "sync", "Weak"]; pub const WEAK_ARC: [&str; 3] = ["alloc", "sync", "Weak"];
pub const WEAK_RC: [&str; 3] = ["alloc", "rc", "Weak"]; pub const WEAK_RC: [&str; 3] = ["alloc", "rc", "Weak"];

View File

@ -53,9 +53,7 @@ fn or_fun_call() {
with_default_type.unwrap_or_default(); with_default_type.unwrap_or_default();
let with_vec = Some(vec![1]); let with_vec = Some(vec![1]);
with_vec.unwrap_or_else(|| vec![]); with_vec.unwrap_or_default();
// FIXME #944: ~|SUGGESTION with_vec.unwrap_or_else(|| vec![]);
let without_default = Some(Foo); let without_default = Some(Foo);
without_default.unwrap_or_else(Foo::new); without_default.unwrap_or_else(Foo::new);

View File

@ -55,8 +55,6 @@ fn make<T>() -> T {
let with_vec = Some(vec![1]); let with_vec = Some(vec![1]);
with_vec.unwrap_or(vec![]); with_vec.unwrap_or(vec![]);
// FIXME #944: ~|SUGGESTION with_vec.unwrap_or_else(|| vec![]);
let without_default = Some(Foo); let without_default = Some(Foo);
without_default.unwrap_or(Foo::new()); without_default.unwrap_or(Foo::new());

View File

@ -42,38 +42,38 @@ error: use of `unwrap_or` followed by a call to `default`
LL | with_default_type.unwrap_or(u64::default()); LL | with_default_type.unwrap_or(u64::default());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `with_default_type.unwrap_or_default()` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `with_default_type.unwrap_or_default()`
error: use of `unwrap_or` followed by a function call error: use of `unwrap_or` followed by a call to `new`
--> $DIR/or_fun_call.rs:56:14 --> $DIR/or_fun_call.rs:56:5
| |
LL | with_vec.unwrap_or(vec![]); LL | with_vec.unwrap_or(vec![]);
| ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| vec![])` | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `with_vec.unwrap_or_default()`
error: use of `unwrap_or` followed by a function call error: use of `unwrap_or` followed by a function call
--> $DIR/or_fun_call.rs:61:21 --> $DIR/or_fun_call.rs:59:21
| |
LL | without_default.unwrap_or(Foo::new()); LL | without_default.unwrap_or(Foo::new());
| ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(Foo::new)` | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(Foo::new)`
error: use of `or_insert` followed by a function call error: use of `or_insert` followed by a function call
--> $DIR/or_fun_call.rs:64:19 --> $DIR/or_fun_call.rs:62:19
| |
LL | map.entry(42).or_insert(String::new()); LL | map.entry(42).or_insert(String::new());
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(String::new)` | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(String::new)`
error: use of `or_insert` followed by a function call error: use of `or_insert` followed by a function call
--> $DIR/or_fun_call.rs:67:21 --> $DIR/or_fun_call.rs:65:21
| |
LL | btree.entry(42).or_insert(String::new()); LL | btree.entry(42).or_insert(String::new());
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(String::new)` | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(String::new)`
error: use of `unwrap_or` followed by a function call error: use of `unwrap_or` followed by a function call
--> $DIR/or_fun_call.rs:70:21 --> $DIR/or_fun_call.rs:68:21
| |
LL | let _ = stringy.unwrap_or("".to_owned()); LL | let _ = stringy.unwrap_or("".to_owned());
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_owned())` | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_owned())`
error: use of `or` followed by a function call error: use of `or` followed by a function call
--> $DIR/or_fun_call.rs:95:35 --> $DIR/or_fun_call.rs:93:35
| |
LL | let _ = Some("a".to_string()).or(Some("b".to_string())); LL | let _ = Some("a".to_string()).or(Some("b".to_string()));
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| Some("b".to_string()))` | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| Some("b".to_string()))`

View File

@ -1,6 +1,6 @@
// run-rustfix // run-rustfix
#![warn(clippy::unit_arg)] #![warn(clippy::unit_arg)]
#![allow(clippy::no_effect, unused_must_use)] #![allow(unused_braces, clippy::no_effect, unused_must_use)]
use std::fmt::Debug; use std::fmt::Debug;

View File

@ -1,6 +1,6 @@
// run-rustfix // run-rustfix
#![warn(clippy::unit_arg)] #![warn(clippy::unit_arg)]
#![allow(clippy::no_effect, unused_must_use)] #![allow(unused_braces, clippy::no_effect, unused_must_use)]
use std::fmt::Debug; use std::fmt::Debug;