Auto merge of #5400 - flip1995:rustup, r=Manishearth
Rustups r? @Manishearth changelog: none
This commit is contained in:
commit
326b22048a
@ -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()
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
};
|
};
|
||||||
|
@ -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"];
|
||||||
|
@ -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);
|
||||||
|
@ -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());
|
||||||
|
|
||||||
|
@ -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()))`
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user