Michael Barth
f2f900bbd5
lsp: Skip serializing of params if unit type ( #46027 )
...
Closes #45994
Per the JSON-RPC specification, `params` "MUST be provided as a
Structured value" or the member "MAY be omitted." See specification
here: https://www.jsonrpc.org/specification#request_object
The code was passing in unit `()` for params which serde_json was
serializing to `null` which is not valid.
This pulls request adds an `is_unit` function and annotates the `params`
fields in the `Request` and `Notification` structs with the following:
```rs
#[serde(default, skip_serializing_if = "is_unit")]
```
so that the field will be omitted if the type is unit. This does also introduce a `'static` bound to these structs.
> [!WARNING]
> While this seems to me like a simple change, I am not super familiar with Rust, please look at this PR with extra scrutiny. The last thing I want to do is break everyone's LSP integration.
Release Notes:
- LSP integrations: send language server shutdown requests with correct parameters
2026-01-22 15:06:02 +02:00
..
2026-01-22 11:39:46 +00:00
2026-01-21 13:40:42 -03:00
2026-01-22 02:31:14 -05:00
2026-01-15 15:21:57 +00:00
2026-01-22 11:39:46 +00:00
2026-01-22 11:19:32 +00:00
2026-01-15 21:28:33 +00:00
2026-01-22 12:43:42 +00:00
2026-01-22 10:18:13 +00:00
2026-01-15 13:06:45 -05:00
2026-01-08 10:59:03 +00:00
2026-01-14 07:19:13 +00:00
2025-10-17 18:58:14 +00:00
2025-10-17 18:58:14 +00:00
2026-01-20 13:19:24 +00:00
2026-01-20 21:51:54 -05:00
2026-01-07 12:48:24 -08:00
2026-01-07 12:48:24 -08:00
2025-11-11 12:55:19 +00:00
2026-01-15 15:21:57 +00:00
2025-10-17 18:58:14 +00:00
2025-12-17 12:54:57 +01:00
2026-01-06 09:42:00 -03:00
2026-01-22 02:31:14 -05:00
2026-01-07 12:48:24 -08:00
2026-01-07 12:48:24 -08:00
2025-12-16 01:22:41 +00:00
2026-01-15 13:06:45 -05:00
2025-11-06 09:16:45 +00:00
2025-11-10 23:00:55 -07:00
2026-01-15 13:06:45 -05:00
2026-01-16 02:16:34 +00:00
2026-01-16 02:16:34 +00:00
2026-01-20 15:41:31 -05:00
2026-01-21 13:40:42 -03:00
2025-10-17 18:58:14 +00:00
2026-01-14 07:19:13 +00:00
2025-10-17 18:58:14 +00:00
2025-10-17 18:58:14 +00:00
2026-01-20 15:41:31 -05:00
2026-01-07 12:48:24 -08:00
2026-01-15 13:22:03 +01:00
2026-01-14 14:44:13 +00:00
2026-01-14 14:44:13 +00:00
2026-01-14 07:19:13 +00:00
2026-01-07 12:48:24 -08:00
2026-01-14 07:19:13 +00:00
2025-12-08 19:57:02 +01:00
2025-10-17 18:58:14 +00:00
2026-01-14 07:19:13 +00:00
2026-01-07 12:48:24 -08:00
2026-01-20 18:02:03 +00:00
2025-12-18 12:47:34 +00:00
2025-10-17 18:58:14 +00:00
2026-01-16 15:20:48 -08:00
2026-01-15 17:48:15 +00:00
2025-12-18 21:59:05 -05:00
2026-01-20 13:33:43 +00:00
2026-01-22 12:17:55 +00:00
2026-01-16 02:16:34 +00:00
2026-01-06 17:20:25 -05:00
2026-01-22 02:31:14 -05:00
2026-01-22 11:24:23 +00:00
2026-01-07 07:24:46 +00:00
2026-01-20 21:51:54 -05:00
2025-12-18 17:26:20 +01:00
2025-10-17 18:58:14 +00:00
2026-01-19 19:58:10 +00:00
2025-12-17 16:25:07 -08:00
2025-12-08 21:49:26 +01:00
2026-01-19 19:58:10 +00:00
2026-01-07 12:48:24 -08:00
2026-01-22 01:43:55 -05:00
2025-10-17 18:58:14 +00:00
2026-01-07 12:48:24 -08:00
2025-10-17 18:58:14 +00:00
2026-01-22 10:22:29 +01:00
2025-10-20 10:30:06 +00:00
2025-12-26 18:47:53 +00:00
2025-12-08 19:50:20 +01:00
2026-01-14 07:19:13 +00:00
2026-01-05 16:15:21 +00:00
2026-01-22 02:31:14 -05:00
2025-12-17 16:51:16 +00:00
2025-12-17 20:12:40 -06:00
2026-01-22 02:31:14 -05:00
2026-01-14 07:19:13 +00:00
2026-01-07 12:48:24 -08:00
2025-10-17 18:58:14 +00:00
2025-12-09 09:29:40 -08:00
2025-10-17 18:58:14 +00:00
2026-01-20 14:06:21 +00:00
2026-01-21 22:48:30 +01:00
2026-01-20 15:41:31 -05:00
2026-01-07 12:48:24 -08:00
2025-11-19 22:00:58 +00:00
2026-01-16 14:33:28 +00:00
2026-01-15 15:21:57 +00:00
2026-01-22 02:31:14 -05:00
2026-01-17 19:29:19 +00:00
2026-01-20 21:51:54 -05:00
2026-01-21 19:35:08 +00:00
2025-10-17 18:58:14 +00:00
2026-01-07 12:48:24 -08:00
2026-01-22 02:31:14 -05:00
2026-01-22 12:52:14 +01:00
2025-10-22 19:52:38 +00:00
2025-10-17 18:58:14 +00:00
2026-01-16 14:20:23 +00:00
2025-10-17 18:58:14 +00:00
2026-01-22 15:06:02 +02:00
2026-01-21 13:40:42 -03:00
2026-01-21 13:40:42 -03:00
2025-10-17 18:58:14 +00:00
2025-12-30 07:49:01 -03:00
2026-01-15 21:28:33 +00:00
2026-01-14 07:19:13 +00:00
2025-12-18 09:49:32 +00:00
2026-01-22 02:31:14 -05:00
2026-01-06 08:14:34 +00:00
2025-10-17 18:58:14 +00:00
2026-01-21 14:52:44 +00:00
2026-01-07 12:48:24 -08:00
2025-11-11 16:10:47 +01:00
2026-01-21 10:12:29 +00:00
2026-01-21 10:08:59 +00:00
2025-11-24 13:24:26 -05:00
2026-01-14 08:06:55 -03:00
2026-01-22 11:24:23 +00:00
2025-10-17 18:58:14 +00:00
2025-12-10 12:10:43 -08:00
2025-12-30 13:29:44 -03:00
2026-01-07 12:48:24 -08:00
2026-01-22 11:24:23 +00:00
2026-01-20 15:41:31 -05:00
2026-01-22 11:24:23 +00:00
2026-01-14 07:19:13 +00:00
2026-01-22 02:44:47 +05:30
2026-01-20 09:10:18 +00:00
2026-01-20 15:58:35 -05:00
2025-12-15 13:30:13 +00:00
2025-11-27 13:46:43 +00:00
2026-01-22 11:24:23 +00:00
2026-01-21 16:16:03 +05:30
2026-01-21 13:40:42 -03:00
2025-12-09 09:29:40 -08:00
2025-11-03 19:25:15 +00:00
2026-01-20 12:23:17 +00:00
2025-12-29 20:21:59 +00:00
2026-01-20 21:51:54 -05:00
2026-01-15 18:39:06 +00:00
2025-12-16 10:48:14 -05:00
2026-01-15 17:48:15 +00:00
2026-01-14 07:19:13 +00:00
2026-01-22 10:22:04 +01:00
2026-01-21 14:40:31 +00:00
2025-10-27 10:13:26 -04:00
2025-11-21 08:28:17 -07:00
2025-11-07 22:27:14 +00:00
2026-01-20 14:29:55 -05:00
2025-10-17 18:58:14 +00:00
2026-01-11 15:08:34 +02:00
2025-10-17 18:58:14 +00:00
2025-10-17 18:58:14 +00:00
2025-10-17 18:58:14 +00:00
2025-10-17 18:58:14 +00:00
2026-01-14 07:19:13 +00:00
2025-11-03 19:25:15 +00:00
2026-01-22 02:31:14 -05:00
2026-01-04 23:28:18 +00:00
2026-01-04 23:28:18 +00:00
2025-12-27 23:29:36 +00:00
2025-11-24 13:34:04 +01:00
2025-12-16 08:26:29 +00:00
2025-12-04 15:37:32 -05:00
2025-12-09 09:08:59 +01:00
2025-11-07 11:36:05 +00:00
2025-11-24 13:34:04 +01:00
2026-01-19 14:18:53 +01:00
2026-01-15 18:10:21 +00:00
2026-01-19 09:08:45 +01:00
2026-01-15 18:10:21 +00:00
2025-10-17 18:58:14 +00:00
2026-01-15 18:10:21 +00:00
2025-12-01 20:52:57 -07:00
2025-10-17 18:58:14 +00:00
2026-01-19 12:37:40 -03:00
2026-01-07 12:48:24 -08:00
2026-01-21 13:40:42 -03:00
2026-01-07 10:52:51 +00:00
2025-10-17 18:58:14 +00:00
2025-10-17 18:58:14 +00:00
2026-01-15 15:21:57 +00:00
2025-10-17 18:58:14 +00:00
2025-10-17 18:58:14 +00:00
2026-01-22 00:11:29 +00:00
2025-11-07 22:27:14 +00:00
2025-10-17 18:58:14 +00:00
2025-10-17 18:58:14 +00:00
2025-10-17 18:58:14 +00:00
2025-12-17 11:53:48 -07:00
2026-01-22 12:15:24 +01:00
2026-01-22 10:22:04 +01:00
2026-01-07 12:48:24 -08:00
2025-12-08 16:38:34 +01:00
2026-01-22 12:15:24 +01:00
2026-01-20 14:06:21 +00:00
2025-12-13 11:06:30 -05:00
2026-01-20 13:33:43 +00:00
2025-12-06 17:56:49 +00:00
2025-11-07 22:27:14 +00:00
2026-01-17 19:29:19 +00:00
2025-12-05 17:23:06 +00:00