Skip to content

Commit 7328b34

Browse files
committed
Add test of generic remote derive with getter
Currently fails to compile. error[E0107]: missing generics for struct `StructGeneric` --> test_suite/tests/test_remote.rs:181:18 | 181 | #[serde(remote = "remote::StructGeneric")] | ^^^^^^^^^^^^^^^^^^^^^^^ expected 1 generic argument | note: struct defined here, with 1 generic parameter: `T` --> test_suite/tests/test_remote.rs:78:16 | 78 | pub struct StructGeneric<T> { | ^^^^^^^^^^^^^ - help: add missing generic argument | 181 | #[serde(remote = StructGeneric<T>)] | ~~~~~~~~~~~~~~~~
1 parent fabbd2b commit 7328b34

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

test_suite/tests/test_remote.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@ mod remote {
7979
pub value: T,
8080
}
8181

82+
impl<T> StructGeneric<T> {
83+
pub fn get_value(&self) -> &T {
84+
&self.value
85+
}
86+
}
87+
8288
pub enum EnumGeneric<T> {
8389
Variant(T),
8490
}
@@ -171,6 +177,13 @@ struct StructPubDef {
171177
b: remote::Unit,
172178
}
173179

180+
#[derive(Serialize, Deserialize)]
181+
#[serde(remote = "remote::StructGeneric")]
182+
struct StructGenericWithGetterDef<T> {
183+
#[serde(getter = "remote::StructGeneric::get_value")]
184+
value: T,
185+
}
186+
174187
#[derive(Serialize, Deserialize)]
175188
#[serde(remote = "remote::StructGeneric<u8>")]
176189
struct StructConcrete {
@@ -206,3 +219,9 @@ impl From<StructPrivDef> for remote::StructPriv {
206219
remote::StructPriv::new(def.a, def.b)
207220
}
208221
}
222+
223+
impl<T> From<StructGenericWithGetterDef<T>> for remote::StructGeneric<T> {
224+
fn from(def: StructGenericWithGetterDef<T>) -> Self {
225+
remote::StructGeneric { value: def.value }
226+
}
227+
}

0 commit comments

Comments
 (0)