File tree Expand file tree Collapse file tree 5 files changed +100
-28
lines changed Expand file tree Collapse file tree 5 files changed +100
-28
lines changed Original file line number Diff line number Diff line change @@ -17,9 +17,9 @@ ena = "0.14.0"
1717log = " 0.4.8"
1818rustc-hash = " 1.1.0"
1919scoped-tls = " 1"
20- chalk-solve = { version = " 0.56 " , default-features = false }
21- chalk-ir = " 0.56 "
22- chalk-recursive = " 0.56 "
20+ chalk-solve = { version = " 0.58 " , default-features = false }
21+ chalk-ir = " 0.58 "
22+ chalk-recursive = " 0.58 "
2323la-arena = { version = " 0.2.0" , path = " ../../lib/arena" }
2424
2525stdx = { path = " ../stdx" , version = " 0.0.0" }
Original file line number Diff line number Diff line change @@ -955,6 +955,51 @@ fn test() { foo.call(); }
955955 ) ;
956956}
957957
958+ #[ test]
959+ fn super_trait_impl_return_trait_method_resolution ( ) {
960+ check_infer (
961+ r#"
962+ trait Base {
963+ fn foo(self) -> usize;
964+ }
965+
966+ trait Super : Base {}
967+
968+ fn base1() -> impl Base { loop {} }
969+ fn super1() -> impl Super { loop {} }
970+
971+ fn test(base2: impl Base, super2: impl Super) {
972+ base1().foo();
973+ super1().foo();
974+ base2.foo();
975+ super2.foo();
976+ }
977+ "# ,
978+ expect ! [ [ r#"
979+ 24..28 'self': Self
980+ 90..101 '{ loop {} }': !
981+ 92..99 'loop {}': !
982+ 97..99 '{}': ()
983+ 128..139 '{ loop {} }': !
984+ 130..137 'loop {}': !
985+ 135..137 '{}': ()
986+ 149..154 'base2': impl Base
987+ 167..173 'super2': impl Super
988+ 187..264 '{ ...o(); }': ()
989+ 193..198 'base1': fn base1() -> impl Base
990+ 193..200 'base1()': impl Base
991+ 193..206 'base1().foo()': usize
992+ 212..218 'super1': fn super1() -> impl Super
993+ 212..220 'super1()': impl Super
994+ 212..226 'super1().foo()': usize
995+ 232..237 'base2': impl Base
996+ 232..243 'base2.foo()': usize
997+ 249..255 'super2': impl Super
998+ 249..261 'super2.foo()': usize
999+ "# ] ] ,
1000+ ) ;
1001+ }
1002+
9581003#[ test]
9591004fn method_resolution_non_parameter_type ( ) {
9601005 check_types (
Original file line number Diff line number Diff line change @@ -13,7 +13,7 @@ doctest = false
1313[dependencies ]
1414itertools = " 0.10.0"
1515rowan = " 0.12.2"
16- rustc_lexer = { version = " 705 .0.0" , package = " rustc-ap-rustc_lexer" }
16+ rustc_lexer = { version = " 707 .0.0" , package = " rustc-ap-rustc_lexer" }
1717rustc-hash = " 1.1.0"
1818arrayvec = " 0.5.1"
1919once_cell = " 1.3.1"
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ flate2 = "1.0"
1515pico-args = " 0.4.0"
1616proc-macro2 = " 1.0.8"
1717quote = " 1.0.2"
18- ungrammar = " 1.9 "
18+ ungrammar = " =1.11 "
1919walkdir = " 2.3.1"
2020write-json = " 0.1.0"
2121xshell = " 0.1"
You can’t perform that action at this time.
0 commit comments