diff options
Diffstat (limited to 'crates/ra_hir_ty/src/tests/coercion.rs')
-rw-r--r-- | crates/ra_hir_ty/src/tests/coercion.rs | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/crates/ra_hir_ty/src/tests/coercion.rs b/crates/ra_hir_ty/src/tests/coercion.rs index a2601c68a..5a1c6ccc3 100644 --- a/crates/ra_hir_ty/src/tests/coercion.rs +++ b/crates/ra_hir_ty/src/tests/coercion.rs | |||
@@ -664,6 +664,8 @@ fn test() { | |||
664 | fn coerce_unsize_trait_object() { | 664 | fn coerce_unsize_trait_object() { |
665 | assert_snapshot!( | 665 | assert_snapshot!( |
666 | infer_with_mismatches(r#" | 666 | infer_with_mismatches(r#" |
667 | #[lang = "sized"] | ||
668 | pub trait Sized {} | ||
667 | #[lang = "unsize"] | 669 | #[lang = "unsize"] |
668 | pub trait Unsize<T> {} | 670 | pub trait Unsize<T> {} |
669 | #[lang = "coerce_unsized"] | 671 | #[lang = "coerce_unsized"] |
@@ -689,19 +691,19 @@ fn test() { | |||
689 | } | 691 | } |
690 | "#, true), | 692 | "#, true), |
691 | @r###" | 693 | @r###" |
692 | 387..572 '{ ...bj2; }': () | 694 | 424..609 '{ ...bj2; }': () |
693 | 397..400 'obj': &dyn Baz<i8, i16> | 695 | 434..437 'obj': &dyn Baz<i8, i16> |
694 | 422..424 '&S': &S<i8, i16> | 696 | 459..461 '&S': &S<i8, i16> |
695 | 423..424 'S': S<i8, i16> | 697 | 460..461 'S': S<i8, i16> |
696 | 434..437 'obj': &dyn Bar<usize, i8, i16> | 698 | 471..474 'obj': &dyn Bar<usize, i8, i16> |
697 | 459..462 'obj': &dyn Baz<i8, i16> | 699 | 496..499 'obj': &dyn Baz<i8, i16> |
698 | 472..475 'obj': &dyn Foo<i8, usize> | 700 | 509..512 'obj': &dyn Foo<i8, usize> |
699 | 494..497 'obj': &dyn Bar<usize, i8, i16> | 701 | 531..534 'obj': &dyn Bar<usize, i8, i16> |
700 | 507..511 'obj2': &dyn Baz<i8, i16> | 702 | 544..548 'obj2': &dyn Baz<i8, i16> |
701 | 533..535 '&S': &S<i8, i16> | 703 | 570..572 '&S': &S<i8, i16> |
702 | 534..535 'S': S<i8, i16> | 704 | 571..572 'S': S<i8, i16> |
703 | 545..546 '_': &dyn Foo<i8, usize> | 705 | 582..583 '_': &dyn Foo<i8, usize> |
704 | 565..569 'obj2': &dyn Baz<i8, i16> | 706 | 602..606 'obj2': &dyn Baz<i8, i16> |
705 | "### | 707 | "### |
706 | ); | 708 | ); |
707 | } | 709 | } |
@@ -710,6 +712,8 @@ fn test() { | |||
710 | fn coerce_unsize_super_trait_cycle() { | 712 | fn coerce_unsize_super_trait_cycle() { |
711 | assert_snapshot!( | 713 | assert_snapshot!( |
712 | infer_with_mismatches(r#" | 714 | infer_with_mismatches(r#" |
715 | #[lang = "sized"] | ||
716 | pub trait Sized {} | ||
713 | #[lang = "unsize"] | 717 | #[lang = "unsize"] |
714 | pub trait Unsize<T> {} | 718 | pub trait Unsize<T> {} |
715 | #[lang = "coerce_unsized"] | 719 | #[lang = "coerce_unsized"] |
@@ -734,12 +738,12 @@ fn test() { | |||
734 | } | 738 | } |
735 | "#, true), | 739 | "#, true), |
736 | @r###" | 740 | @r###" |
737 | 291..347 '{ ...obj; }': () | 741 | 328..384 '{ ...obj; }': () |
738 | 301..304 'obj': &dyn D | 742 | 338..341 'obj': &dyn D |
739 | 315..317 '&S': &S | 743 | 352..354 '&S': &S |
740 | 316..317 'S': S | 744 | 353..354 'S': S |
741 | 327..330 'obj': &dyn A | 745 | 364..367 'obj': &dyn A |
742 | 341..344 'obj': &dyn D | 746 | 378..381 'obj': &dyn D |
743 | "### | 747 | "### |
744 | ); | 748 | ); |
745 | } | 749 | } |