Skip to content

Commit 5070534

Browse files
committed
fix: testcases in generate_delegate_trait
1 parent 59aa791 commit 5070534

File tree

1 file changed

+27
-17
lines changed

1 file changed

+27
-17
lines changed

crates/ide-assists/src/handlers/generate_delegate_trait.rs

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,28 +1032,29 @@ struct B<T> {
10321032
}
10331033
10341034
trait Trait<T> {
1035-
fn f(a: T);
1035+
fn f(&self, a: T) -> T;
10361036
}
10371037
10381038
impl<T1, T2> Trait<T1> for B<T2> {
1039-
fn f(a: T1) -> T2 { self.a }
1039+
fn f(&self, a: T1) -> T1 { a }
10401040
}
10411041
10421042
struct A {}
10431043
struct S {
1044-
b$0 : B<A>,
1045-
}"#,
1044+
b :$0 B<A>,
1045+
}
1046+
"#,
10461047
r#"
10471048
struct B<T> {
10481049
a: T
10491050
}
10501051
10511052
trait Trait<T> {
1052-
fn f(a: T);
1053+
fn f(&self, a: T) -> T;
10531054
}
10541055
10551056
impl<T1, T2> Trait<T1> for B<T2> {
1056-
fn f(a: T1) -> T2 { self.a }
1057+
fn f(&self, a: T1) -> T1 { a }
10571058
}
10581059
10591060
struct A {}
@@ -1062,10 +1063,11 @@ struct S {
10621063
}
10631064
10641065
impl<T1> Trait<T1> for S {
1065-
fn f(a: T1) -> A {
1066-
<B<A> as Trait<T1>>::f(a)
1066+
fn f(&self, a: T1) -> T1 {
1067+
<B<A> as Trait<T1>>::f(&self.b, a)
10671068
}
1068-
}"#,
1069+
}
1070+
"#,
10691071
);
10701072
}
10711073

@@ -1088,7 +1090,8 @@ impl<T, T0> Trait<T> for B<T0> {
10881090
10891091
struct S<T> {
10901092
b : $0B<T>,
1091-
}"#,
1093+
}
1094+
"#,
10921095
r#"
10931096
struct B<T> {
10941097
a: T
@@ -1110,7 +1113,8 @@ impl<T, T1> Trait<T> for S<T1> {
11101113
fn f(&self, a: T) -> T {
11111114
<B<T1> as Trait<T>>::f(&self.b, a)
11121115
}
1113-
}"#,
1116+
}
1117+
"#,
11141118
);
11151119
}
11161120

@@ -1133,7 +1137,8 @@ impl<'a, T, T0> Trait<T> for B<'a, T0> {
11331137
11341138
struct S<'a, T> {
11351139
b : $0B<'a, T>,
1136-
}"#,
1140+
}
1141+
"#,
11371142
r#"
11381143
struct B<'a, T> {
11391144
a: &'a T
@@ -1155,7 +1160,8 @@ impl<'a, T, T1> Trait<T> for S<'a, T1> {
11551160
fn f(&self, a: T) -> T {
11561161
<B<'a, T1> as Trait<T>>::f(&self.b, a)
11571162
}
1158-
}"#,
1163+
}
1164+
"#,
11591165
);
11601166
}
11611167

@@ -1179,7 +1185,8 @@ impl<T, T0> Trait<T> for B<T, T0> {
11791185
11801186
struct S<T> {
11811187
b :$0 B<i32, T>,
1182-
}"#,
1188+
}
1189+
"#,
11831190
r#"
11841191
struct B<T1, T2> {
11851192
a: T1,
@@ -1202,7 +1209,8 @@ impl<T1> Trait<i32> for S<T1> {
12021209
fn f(&self, a: i32) -> i32 {
12031210
<B<i32, T1> as Trait<i32>>::f(&self.b, a)
12041211
}
1205-
}"#,
1212+
}
1213+
"#,
12061214
);
12071215
}
12081216

@@ -1225,7 +1233,8 @@ impl<T> Trait<T> for B<T> {
12251233
12261234
struct S<T> {
12271235
b : $0B<T>,
1228-
}"#,
1236+
}
1237+
"#,
12291238
r#"
12301239
struct B<T> {
12311240
a: T
@@ -1247,7 +1256,8 @@ impl<T0> Trait<T0> for S<T0> {
12471256
fn f(&self, a: T0) -> T0 {
12481257
<B<T0> as Trait<T0>>::f(&self.b, a)
12491258
}
1250-
}"#,
1259+
}
1260+
"#,
12511261
);
12521262
}
12531263

0 commit comments

Comments
 (0)