aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/tests/traits.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/hir_ty/src/tests/traits.rs')
-rw-r--r--crates/hir_ty/src/tests/traits.rs46
1 files changed, 6 insertions, 40 deletions
diff --git a/crates/hir_ty/src/tests/traits.rs b/crates/hir_ty/src/tests/traits.rs
index 33689e081..6df8181ed 100644
--- a/crates/hir_ty/src/tests/traits.rs
+++ b/crates/hir_ty/src/tests/traits.rs
@@ -26,25 +26,14 @@ fn test() {
26fn infer_async() { 26fn infer_async() {
27 check_types( 27 check_types(
28 r#" 28 r#"
29//- /main.rs crate:main deps:core 29//- minicore: future
30async fn foo() -> u64 { 30async fn foo() -> u64 { 128 }
31 128
32}
33 31
34fn test() { 32fn test() {
35 let r = foo(); 33 let r = foo();
36 let v = r.await; 34 let v = r.await;
37 v; 35 v;
38} //^ u64 36} //^ u64
39
40//- /core.rs crate:core
41#[prelude_import] use future::*;
42mod future {
43 #[lang = "future_trait"]
44 trait Future {
45 type Output;
46 }
47}
48"#, 37"#,
49 ); 38 );
50} 39}
@@ -53,24 +42,13 @@ mod future {
53fn infer_desugar_async() { 42fn infer_desugar_async() {
54 check_types( 43 check_types(
55 r#" 44 r#"
56//- /main.rs crate:main deps:core 45//- minicore: future
57async fn foo() -> u64 { 46async fn foo() -> u64 { 128 }
58 128
59}
60 47
61fn test() { 48fn test() {
62 let r = foo(); 49 let r = foo();
63 r; 50 r;
64} //^ impl Future<Output = u64> 51} //^ impl Future<Output = u64>
65
66//- /core.rs crate:core
67#[prelude_import] use future::*;
68mod future {
69 trait Future {
70 type Output;
71 }
72}
73
74"#, 52"#,
75 ); 53 );
76} 54}
@@ -79,7 +57,7 @@ mod future {
79fn infer_async_block() { 57fn infer_async_block() {
80 check_types( 58 check_types(
81 r#" 59 r#"
82//- /main.rs crate:main deps:core 60//- minicore: future, option
83async fn test() { 61async fn test() {
84 let a = async { 42 }; 62 let a = async { 42 };
85 a; 63 a;
@@ -91,7 +69,7 @@ async fn test() {
91 b; 69 b;
92// ^ () 70// ^ ()
93 let c = async { 71 let c = async {
94 let y = Option::None; 72 let y = None;
95 y 73 y
96 // ^ Option<u64> 74 // ^ Option<u64>
97 }; 75 };
@@ -99,18 +77,6 @@ async fn test() {
99 c; 77 c;
100// ^ impl Future<Output = Option<u64>> 78// ^ impl Future<Output = Option<u64>>
101} 79}
102
103enum Option<T> { None, Some(T) }
104
105//- /core.rs crate:core
106#[prelude_import] use future::*;
107mod future {
108 #[lang = "future_trait"]
109 trait Future {
110 type Output;
111 }
112}
113
114"#, 80"#,
115 ); 81 );
116} 82}