Auto merge of #18294 - Giga-Bowser:master, r=Veykril
Add wrap/unwrap return type in Option I pretty much just copied over the code and tests for wrapping/unwrapping return types in `Result` and then did a bunch of find and replace changes. I handled unwrapping statements returning `None` by just replacing `None` with the unit type, but I'm open to suggestions for more intuitive behavior here.
This commit is contained in:
commit
0d6202dd45
6 changed files with 4718 additions and 2387 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -223,9 +223,9 @@ mod handlers {
|
||||||
mod unnecessary_async;
|
mod unnecessary_async;
|
||||||
mod unqualify_method_call;
|
mod unqualify_method_call;
|
||||||
mod unwrap_block;
|
mod unwrap_block;
|
||||||
mod unwrap_result_return_type;
|
mod unwrap_return_type;
|
||||||
mod unwrap_tuple;
|
mod unwrap_tuple;
|
||||||
mod wrap_return_type_in_result;
|
mod wrap_return_type;
|
||||||
mod wrap_unwrap_cfg_attr;
|
mod wrap_unwrap_cfg_attr;
|
||||||
|
|
||||||
pub(crate) fn all() -> &'static [Handler] {
|
pub(crate) fn all() -> &'static [Handler] {
|
||||||
|
@ -355,10 +355,10 @@ mod handlers {
|
||||||
unmerge_use::unmerge_use,
|
unmerge_use::unmerge_use,
|
||||||
unnecessary_async::unnecessary_async,
|
unnecessary_async::unnecessary_async,
|
||||||
unwrap_block::unwrap_block,
|
unwrap_block::unwrap_block,
|
||||||
unwrap_result_return_type::unwrap_result_return_type,
|
unwrap_return_type::unwrap_return_type,
|
||||||
unwrap_tuple::unwrap_tuple,
|
unwrap_tuple::unwrap_tuple,
|
||||||
unqualify_method_call::unqualify_method_call,
|
unqualify_method_call::unqualify_method_call,
|
||||||
wrap_return_type_in_result::wrap_return_type_in_result,
|
wrap_return_type::wrap_return_type,
|
||||||
wrap_unwrap_cfg_attr::wrap_unwrap_cfg_attr,
|
wrap_unwrap_cfg_attr::wrap_unwrap_cfg_attr,
|
||||||
|
|
||||||
// These are manually sorted for better priorities. By default,
|
// These are manually sorted for better priorities. By default,
|
||||||
|
|
|
@ -3264,6 +3264,20 @@ fn foo() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn doctest_unwrap_option_return_type() {
|
||||||
|
check_doc_test(
|
||||||
|
"unwrap_option_return_type",
|
||||||
|
r#####"
|
||||||
|
//- minicore: option
|
||||||
|
fn foo() -> Option<i32>$0 { Some(42i32) }
|
||||||
|
"#####,
|
||||||
|
r#####"
|
||||||
|
fn foo() -> i32 { 42i32 }
|
||||||
|
"#####,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn doctest_unwrap_result_return_type() {
|
fn doctest_unwrap_result_return_type() {
|
||||||
check_doc_test(
|
check_doc_test(
|
||||||
|
@ -3297,6 +3311,20 @@ fn main() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn doctest_wrap_return_type_in_option() {
|
||||||
|
check_doc_test(
|
||||||
|
"wrap_return_type_in_option",
|
||||||
|
r#####"
|
||||||
|
//- minicore: option
|
||||||
|
fn foo() -> i32$0 { 42i32 }
|
||||||
|
"#####,
|
||||||
|
r#####"
|
||||||
|
fn foo() -> Option<i32> { Some(42i32) }
|
||||||
|
"#####,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn doctest_wrap_return_type_in_result() {
|
fn doctest_wrap_return_type_in_result() {
|
||||||
check_doc_test(
|
check_doc_test(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue