Skip to content

Commit 6d293ed

Browse files
committed
Update tests
1 parent c25f25f commit 6d293ed

File tree

1 file changed

+9
-118
lines changed

1 file changed

+9
-118
lines changed

library/core/tests/result.rs

+9-118
Original file line numberDiff line numberDiff line change
@@ -250,24 +250,11 @@ fn test_result_as_deref() {
250250
let expected_result = Result::Ok::<&[i32], &u32>([1, 2, 3, 4, 5].as_slice());
251251
assert_eq!(ref_ok.as_deref(), expected_result);
252252

253-
// &Result<T, E: Deref>::Err(T).as_deref_err() ->
254-
// Result<&T, &E::Deref::Target>::Err(&*E)
255-
let ref_err = &Result::Err::<u8, &i32>(&41);
256-
let expected_result = Result::Err::<&u8, &i32>(&41);
257-
assert_eq!(ref_err.as_deref_err(), expected_result);
258-
259-
let ref_err = &Result::Err::<u32, String>(String::from("an error"));
260-
let expected_result = Result::Err::<&u32, &str>("an error");
261-
assert_eq!(ref_err.as_deref_err(), expected_result);
262-
263-
let ref_err = &Result::Err::<u32, Vec<i32>>(vec![5, 4, 3, 2, 1]);
264-
let expected_result = Result::Err::<&u32, &[i32]>([5, 4, 3, 2, 1].as_slice());
265-
assert_eq!(ref_err.as_deref_err(), expected_result);
266-
267-
// &Result<T: Deref, E: Deref>::Err(T).as_deref_err() ->
268-
// Result<&T, &E::Deref::Target>::Err(&*E)
269-
let ref_err = &Result::Err::<&u8, &i32>(&41);
270-
let expected_result = Result::Err::<&u8, &&i32>(&&41);
253+
// &Result<T: Deref, E>::Err(T).as_deref() ->
254+
// Result<&T::Deref::Target, &E>::Err(&*E)
255+
let val = 41;
256+
let ref_err = &Result::Err::<&u8, i32>(val);
257+
let expected_result = Result::Err::<&u8, &i32>(&val);
271258
assert_eq!(ref_err.as_deref(), expected_result);
272259

273260
let s = String::from("an error");
@@ -279,46 +266,12 @@ fn test_result_as_deref() {
279266
let ref_err = &Result::Err::<&u32, Vec<i32>>(v.clone());
280267
let expected_result = Result::Err::<&u32, &Vec<i32>>(&v);
281268
assert_eq!(ref_err.as_deref(), expected_result);
282-
283-
// The following cases test calling `as_deref_*` with the wrong variant (i.e.
284-
// `as_deref()` with a `Result::Err()`, or `as_deref_err()` with a `Result::Ok()`.
285-
// While uncommon, these cases are supported to ensure that an `as_deref_*`
286-
// call can still be made even when one of the Result types does not implement
287-
// `Deref` (for example, std::io::Error).
288-
289-
// &Result<T, E: Deref>::Ok(T).as_deref_err() ->
290-
// Result<&T, &E::Deref::Target>::Ok(&T)
291-
let ref_ok = &Result::Ok::<i32, &u8>(42);
292-
let expected_result = Result::Ok::<&i32, &u8>(&42);
293-
assert_eq!(ref_ok.as_deref_err(), expected_result);
294-
295-
let ref_ok = &Result::Ok::<&str, &u32>("a result");
296-
let expected_result = Result::Ok::<&&str, &u32>(&"a result");
297-
assert_eq!(ref_ok.as_deref_err(), expected_result);
298-
299-
let ref_ok = &Result::Ok::<[i32; 5], &u32>([1, 2, 3, 4, 5]);
300-
let expected_result = Result::Ok::<&[i32; 5], &u32>(&[1, 2, 3, 4, 5]);
301-
assert_eq!(ref_ok.as_deref_err(), expected_result);
302-
303-
// &Result<T: Deref, E>::Err(E).as_deref() ->
304-
// Result<&T::Deref::Target, &E>::Err(&E)
305-
let ref_err = &Result::Err::<&u8, i32>(41);
306-
let expected_result = Result::Err::<&u8, &i32>(&41);
307-
assert_eq!(ref_err.as_deref(), expected_result);
308-
309-
let ref_err = &Result::Err::<&u32, &str>("an error");
310-
let expected_result = Result::Err::<&u32, &&str>(&"an error");
311-
assert_eq!(ref_err.as_deref(), expected_result);
312-
313-
let ref_err = &Result::Err::<&u32, [i32; 5]>([5, 4, 3, 2, 1]);
314-
let expected_result = Result::Err::<&u32, &[i32; 5]>(&[5, 4, 3, 2, 1]);
315-
assert_eq!(ref_err.as_deref(), expected_result);
316269
}
317270

318271
#[test]
319272
fn test_result_as_deref_mut() {
320-
// &mut Result<T: Deref, E>::Ok(T).as_deref_mut() ->
321-
// Result<&mut T::Deref::Target, &mut E>::Ok(&mut *T)
273+
// &mut Result<T: DerefMut, E>::Ok(T).as_deref_mut() ->
274+
// Result<&mut T::DerefMut::Target, &mut E>::Ok(&mut *T)
322275
let mut val = 42;
323276
let mut expected_val = 42;
324277
let mut_ok = &mut Result::Ok::<&mut i32, u8>(&mut val);
@@ -335,26 +288,8 @@ fn test_result_as_deref_mut() {
335288
let expected_result = Result::Ok::<&mut [i32], &mut u32>(expected_vec.as_mut_slice());
336289
assert_eq!(mut_ok.as_deref_mut(), expected_result);
337290

338-
// &mut Result<T, E: Deref>::Err(T).as_deref_mut_err() ->
339-
// Result<&mut T, &mut E::Deref::Target>::Err(&mut *E)
340-
let mut val = 41;
341-
let mut expected_val = 41;
342-
let mut_err = &mut Result::Err::<u8, &mut i32>(&mut val);
343-
let expected_result = Result::Err::<&mut u8, &mut i32>(&mut expected_val);
344-
assert_eq!(mut_err.as_deref_mut_err(), expected_result);
345-
346-
let mut expected_string = String::from("an error");
347-
let mut_err = &mut Result::Err::<u32, String>(expected_string.clone());
348-
let expected_result = Result::Err::<&mut u32, &mut str>(expected_string.deref_mut());
349-
assert_eq!(mut_err.as_deref_mut_err(), expected_result);
350-
351-
let mut expected_vec = vec![5, 4, 3, 2, 1];
352-
let mut_err = &mut Result::Err::<u32, Vec<i32>>(expected_vec.clone());
353-
let expected_result = Result::Err::<&mut u32, &mut [i32]>(expected_vec.as_mut_slice());
354-
assert_eq!(mut_err.as_deref_mut_err(), expected_result);
355-
356-
// &mut Result<T: Deref, E: Deref>::Err(T).as_deref_mut_err() ->
357-
// Result<&mut T, &mut E::Deref::Target>::Err(&mut *E)
291+
// &mut Result<T: DerefMut, E>::Err(T).as_deref_mut() ->
292+
// Result<&mut T, &mut E>::Err(&mut *E)
358293
let mut val = 41;
359294
let mut_err = &mut Result::Err::<&mut u8, i32>(val);
360295
let expected_result = Result::Err::<&mut u8, &mut i32>(&mut val);
@@ -369,48 +304,4 @@ fn test_result_as_deref_mut() {
369304
let mut_err = &mut Result::Err::<&mut u32, Vec<i32>>(expected_vec.clone());
370305
let expected_result = Result::Err::<&mut u32, &mut Vec<i32>>(&mut expected_vec);
371306
assert_eq!(mut_err.as_deref_mut(), expected_result);
372-
373-
// The following cases test calling `as_deref_mut_*` with the wrong variant (i.e.
374-
// `as_deref_mut()` with a `Result::Err()`, or `as_deref_mut_err()` with a `Result::Ok()`.
375-
// While uncommon, these cases are supported to ensure that an `as_deref_mut_*`
376-
// call can still be made even when one of the Result types does not implement
377-
// `Deref` (for example, std::io::Error).
378-
379-
// &mut Result<T, E: Deref>::Ok(T).as_deref_mut_err() ->
380-
// Result<&mut T, &mut E::Deref::Target>::Ok(&mut T)
381-
let mut expected_val = 42;
382-
let mut_ok = &mut Result::Ok::<i32, &mut u8>(expected_val.clone());
383-
let expected_result = Result::Ok::<&mut i32, &mut u8>(&mut expected_val);
384-
assert_eq!(mut_ok.as_deref_mut_err(), expected_result);
385-
386-
let string = String::from("a result");
387-
let expected_string = string.clone();
388-
let mut ref_str = expected_string.as_ref();
389-
let mut_ok = &mut Result::Ok::<&str, &mut u32>(string.as_str());
390-
let expected_result = Result::Ok::<&mut &str, &mut u32>(&mut ref_str);
391-
assert_eq!(mut_ok.as_deref_mut_err(), expected_result);
392-
393-
let mut expected_arr = [1, 2, 3, 4, 5];
394-
let mut_ok = &mut Result::Ok::<[i32; 5], &mut u32>(expected_arr.clone());
395-
let expected_result = Result::Ok::<&mut [i32; 5], &mut u32>(&mut expected_arr);
396-
assert_eq!(mut_ok.as_deref_mut_err(), expected_result);
397-
398-
// &mut Result<T: Deref, E>::Err(E).as_deref_mut() ->
399-
// Result<&mut T::Deref::Target, &mut E>::Err(&mut E)
400-
let mut expected_val = 41;
401-
let mut_err = &mut Result::Err::<&mut u8, i32>(expected_val.clone());
402-
let expected_result = Result::Err::<&mut u8, &mut i32>(&mut expected_val);
403-
assert_eq!(mut_err.as_deref_mut(), expected_result);
404-
405-
let string = String::from("an error");
406-
let expected_string = string.clone();
407-
let mut ref_str = expected_string.as_ref();
408-
let mut_err = &mut Result::Err::<&mut u32, &str>(string.as_str());
409-
let expected_result = Result::Err::<&mut u32, &mut &str>(&mut ref_str);
410-
assert_eq!(mut_err.as_deref_mut(), expected_result);
411-
412-
let mut expected_arr = [5, 4, 3, 2, 1];
413-
let mut_err = &mut Result::Err::<&mut u32, [i32; 5]>(expected_arr.clone());
414-
let expected_result = Result::Err::<&mut u32, &mut [i32; 5]>(&mut expected_arr);
415-
assert_eq!(mut_err.as_deref_mut(), expected_result);
416307
}

0 commit comments

Comments
 (0)