Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1f33f5a

Browse files
authored
Merge pull request qualified#34 from qualified/fix-ser-unknown-message
2 parents 3a236e8 + c801162 commit 1f33f5a

File tree

2 files changed

+10
-15
lines changed

2 files changed

+10
-15
lines changed

src/lsp/mod.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,7 @@ impl Serialize for Message {
107107
wrapped.serialize(serializer)
108108
}
109109

110-
Self::Unknown(unknown) => {
111-
let wrapped = WithJsonRpc {
112-
jsonrpc: "2.0",
113-
msg: &unknown,
114-
};
115-
wrapped.serialize(serializer)
116-
}
110+
Self::Unknown(unknown) => unknown.serialize(serializer),
117111
}
118112
}
119113
}
@@ -155,4 +149,12 @@ mod tests {
155149
let from_value: Message = serde_json::from_value(v).unwrap();
156150
assert_eq!(from_str, from_value);
157151
}
152+
153+
#[test]
154+
fn test_serialize_unknown_notification() {
155+
let v = json!({"jsonrpc":"2.0","method":"language/status","params":{"message":""}});
156+
let s = v.to_string();
157+
let from_value: Message = serde_json::from_value(v).unwrap();
158+
assert_eq!(serde_json::to_string(&from_value).unwrap(), s);
159+
}
158160
}

src/lsp/types.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,4 @@ pub enum Params {
3232

3333
/// Unknown message type.
3434
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
35-
pub struct Unknown {
36-
#[serde(default)]
37-
pub id: Option<Id>,
38-
#[serde(default)]
39-
pub method: Option<String>,
40-
#[serde(skip_serializing_if = "Option::is_none")]
41-
pub params: Option<Params>,
42-
}
35+
pub struct Unknown(serde_json::Value);

0 commit comments

Comments
 (0)