Josh Matthews
bd9bb77295
script_bindings: Assert that serializable/transferable types have accurate WebIDL annotations ( #38615 )
...
These changes add compile-time assertions that:
* any type that implements the Serializable/Transferable trait has a
`[Serializable]` or `[Transferable]` annotation in the interface WebIDL
* any WebIDL interface with the `[Serializable]` or `[Transferable]`
annotation implements the corresponding trait
This is useful because it means that WebIDL definitions will be less
confusing if you're trying to figure out whether Servo supports
serializing/transferring a particular interface type. It also makes
fixing #21715 in the future a little bit easier, because the annotations
will remain up to date.
Testing: compile-time only; no point in writing tests for this since it
involves webidl codegen.
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net >
2025-08-13 08:36:04 +00:00
..
2025-08-13 08:36:04 +00:00
2025-03-30 11:06:30 +00:00
2025-08-09 05:05:54 +00:00
2025-03-03 11:26:53 +00:00
2025-07-09 14:22:03 +00:00
2025-08-04 16:42:53 +00:00
2025-07-17 19:32:36 +00:00
2025-06-18 15:26:05 +00:00
2025-06-18 15:26:05 +00:00
2025-03-19 08:33:11 +00:00
2025-04-05 22:13:29 +00:00
2025-03-03 11:26:53 +00:00
2025-04-06 23:26:15 +00:00
2025-03-16 13:46:14 +00:00
2025-03-12 00:02:12 +00:00
2025-08-02 02:45:52 +00:00
2025-03-10 19:43:04 +00:00
2025-03-16 13:46:14 +00:00
2025-03-03 11:26:53 +00:00
2025-03-16 13:46:14 +00:00
2025-03-03 11:26:53 +00:00
2025-03-30 11:06:30 +00:00
2025-03-03 11:26:53 +00:00
2025-02-04 06:58:08 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-04-13 18:10:04 +00:00
2025-03-12 00:02:12 +00:00
2025-03-16 13:46:14 +00:00
2025-05-19 11:55:06 +00:00
2025-07-15 13:57:05 +00:00
2025-03-25 19:24:47 +00:00
2025-08-04 16:27:00 +00:00
2025-07-04 20:22:20 +00:00
2025-08-04 16:27:00 +00:00
2025-01-10 08:19:19 +00:00
2025-03-16 13:46:14 +00:00
2025-03-16 13:46:14 +00:00
2025-06-11 09:53:15 +00:00
2025-03-03 11:26:53 +00:00
2025-05-07 15:11:37 +00:00
2025-03-30 11:06:30 +00:00
2025-05-07 15:11:37 +00:00
2025-03-12 00:02:12 +00:00
2025-01-10 08:19:19 +00:00
2025-02-20 16:17:45 +00:00
2025-08-09 11:50:14 +00:00
2025-03-16 13:46:14 +00:00
2025-03-03 11:26:53 +00:00
2025-08-11 11:07:59 +00:00
2025-03-03 11:26:53 +00:00
2025-07-15 01:57:15 +00:00
2025-07-20 16:06:04 +00:00
2025-07-09 19:07:29 +00:00
2025-03-03 11:26:53 +00:00
2025-04-01 19:18:07 +00:00
2025-02-20 16:17:45 +00:00
2025-04-01 19:18:07 +00:00
2025-02-20 16:17:45 +00:00
2025-03-05 08:39:11 +00:00
2025-03-05 08:39:11 +00:00
2025-04-01 19:18:07 +00:00
2025-03-19 18:03:09 +00:00
2025-03-05 08:39:11 +00:00
2025-02-20 16:17:45 +00:00
2025-04-01 11:20:46 +00:00
2025-04-01 11:20:46 +00:00
2025-07-23 08:16:01 +00:00
2025-08-04 16:27:00 +00:00
2025-07-23 08:16:01 +00:00
2025-07-25 03:05:22 +00:00
2025-03-03 11:26:53 +00:00
2025-02-20 16:17:45 +00:00
2025-08-08 17:18:30 +00:00
2025-03-31 17:15:48 +00:00
2025-05-27 11:02:40 +00:00
2025-03-03 12:17:25 +00:00
2025-03-19 18:03:09 +00:00
2025-08-09 18:01:00 +00:00
2025-08-12 04:53:53 +00:00
2025-08-12 04:53:53 +00:00
2025-08-12 04:53:53 +00:00
2025-06-12 10:46:31 +00:00
2025-04-28 11:02:55 +00:00
2025-03-03 11:26:53 +00:00
2025-06-20 07:07:28 +00:00
2025-08-11 12:31:54 +00:00
2025-08-12 02:40:21 +00:00
2025-04-08 02:33:21 +00:00
2025-08-07 08:38:43 +00:00
2025-04-08 02:33:21 +00:00
2025-07-12 10:08:40 +00:00
2025-07-11 02:45:52 +00:00
2025-03-03 11:26:53 +00:00
2025-08-09 11:50:14 +00:00
2025-04-05 05:38:24 +00:00
2025-04-23 13:05:41 +00:00
2025-04-23 13:05:41 +00:00
2025-03-03 11:26:53 +00:00
2025-04-08 02:33:21 +00:00
2025-04-02 14:50:56 +00:00
2025-04-08 02:33:21 +00:00
2025-06-20 03:16:46 +00:00
2025-04-08 02:33:21 +00:00
2025-04-19 11:49:37 +00:00
2025-03-03 11:26:53 +00:00
2025-08-11 13:39:55 +00:00
2025-04-13 05:15:07 +00:00
2025-03-31 17:15:48 +00:00
2025-08-09 08:04:31 +00:00
2025-07-15 01:57:15 +00:00
2025-08-09 08:04:31 +00:00
2025-03-12 00:02:12 +00:00
2025-03-19 18:03:09 +00:00
2025-04-11 17:59:03 +00:00
2025-03-10 03:55:38 +00:00
2025-08-04 16:42:53 +00:00
2025-03-03 11:26:53 +00:00
2025-03-31 17:15:48 +00:00
2025-03-13 10:28:11 +00:00
2025-08-04 16:27:00 +00:00
2025-04-11 17:59:03 +00:00
2025-04-02 14:50:56 +00:00
2025-03-16 13:46:14 +00:00
2025-05-02 20:10:26 +00:00
2025-05-02 20:10:26 +00:00
2025-05-02 20:10:26 +00:00
2025-04-02 14:50:56 +00:00
2025-05-02 20:10:26 +00:00
2025-03-10 19:43:04 +00:00
2025-08-10 16:51:46 +00:00
2025-05-02 11:33:28 +00:00
2025-03-12 00:02:12 +00:00
2025-05-21 19:07:32 +00:00
2025-08-04 16:42:53 +00:00
2025-08-06 13:46:43 +00:00
2025-05-24 09:53:27 +00:00
2025-04-19 11:49:37 +00:00
2025-04-19 11:49:37 +00:00
2025-06-15 04:11:32 +00:00
2025-01-18 21:36:15 +00:00
2025-04-19 11:49:37 +00:00
2025-07-28 09:13:07 +00:00
2025-07-11 02:45:52 +00:00
2025-01-18 21:36:15 +00:00
2025-04-13 07:10:00 +00:00
2025-07-09 15:36:58 +00:00
2025-04-19 11:49:37 +00:00
2025-01-18 21:36:15 +00:00
2025-01-18 21:36:15 +00:00
2025-01-18 21:36:15 +00:00
2025-08-04 11:41:53 +00:00
2025-08-04 16:27:00 +00:00
2025-01-18 21:36:15 +00:00
2025-04-13 07:10:00 +00:00
2025-04-19 11:49:37 +00:00
2025-04-13 07:10:00 +00:00
2025-07-24 17:49:31 +00:00
2025-01-18 21:36:15 +00:00
2025-01-18 21:36:15 +00:00
2025-04-19 11:49:37 +00:00
2025-01-18 21:36:15 +00:00
2025-06-03 11:22:44 +00:00
2025-01-18 21:36:15 +00:00
2025-04-19 11:49:37 +00:00
2025-08-11 13:39:55 +00:00
2025-08-06 13:46:43 +00:00
2025-08-11 09:23:58 +00:00
2025-04-19 11:49:37 +00:00
2025-03-29 13:09:56 +00:00
2025-03-03 11:26:53 +00:00
2025-07-23 08:16:01 +00:00
2025-01-18 21:36:15 +00:00
2025-08-04 18:57:20 +00:00
2025-01-18 21:36:15 +00:00
2025-06-06 15:13:51 +00:00
2025-07-09 15:36:58 +00:00
2025-01-18 21:36:15 +00:00
2025-05-27 11:02:40 +00:00
2025-01-18 21:36:15 +00:00
2025-05-11 16:21:56 +00:00
2025-05-28 17:58:33 +00:00
2025-04-11 06:21:50 +00:00
2025-03-29 13:09:56 +00:00
2025-03-19 07:57:43 +00:00
2025-01-18 21:36:15 +00:00
2025-01-18 21:36:15 +00:00
2025-03-03 11:26:53 +00:00
2025-07-09 15:36:58 +00:00
2025-01-18 21:36:15 +00:00
2025-08-11 12:26:56 +00:00
2025-08-06 13:46:43 +00:00
2025-07-23 03:36:32 +00:00
2025-04-11 06:32:34 +00:00
2025-01-18 21:36:15 +00:00
2025-07-23 08:16:01 +00:00
2025-01-18 21:36:15 +00:00
2025-07-02 12:16:28 +00:00
2025-06-11 09:53:15 +00:00
2025-04-19 11:49:37 +00:00
2025-04-19 11:49:37 +00:00
2025-04-19 11:49:37 +00:00
2025-04-19 11:49:37 +00:00
2025-08-11 09:23:58 +00:00
2025-01-18 21:36:15 +00:00
2025-03-29 13:09:56 +00:00
2025-03-03 11:26:53 +00:00
2025-01-18 21:36:15 +00:00
2025-01-18 21:36:15 +00:00
2025-07-11 08:42:51 +00:00
2025-07-17 04:19:03 +00:00
2025-07-25 05:29:10 +00:00
2025-07-26 13:20:52 +00:00
2025-07-26 16:35:10 +00:00
2025-07-15 01:57:15 +00:00
2025-07-17 04:19:03 +00:00
2025-06-20 10:06:56 +00:00
2025-06-20 07:42:36 +00:00
2025-03-16 13:46:14 +00:00
2025-07-09 11:43:09 +00:00
2025-07-15 08:03:49 +00:00
2025-07-04 20:22:20 +00:00
2025-08-07 18:49:38 +00:00
2025-08-09 17:31:44 +00:00
2025-03-18 11:09:44 +00:00
2025-08-01 08:14:38 +00:00
2025-04-05 22:13:29 +00:00
2025-05-10 15:54:13 +00:00
2025-03-03 11:26:53 +00:00
2025-03-30 11:06:30 +00:00
2025-01-18 21:36:15 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-04-15 14:05:13 +00:00
2025-03-03 11:26:53 +00:00
2025-03-10 09:44:16 +00:00
2025-03-12 00:02:12 +00:00
2025-04-05 22:13:29 +00:00
2025-03-03 11:26:53 +00:00
2025-03-16 13:46:14 +00:00
2025-01-18 21:36:15 +00:00
2025-03-03 11:26:53 +00:00
2025-01-18 21:36:15 +00:00
2025-03-03 11:26:53 +00:00
2025-03-19 18:03:09 +00:00
2025-07-16 14:46:10 +00:00
2025-01-10 08:19:19 +00:00
2025-03-03 11:26:53 +00:00
2025-08-12 04:53:53 +00:00
2025-08-12 06:33:15 +00:00
2025-04-19 11:49:37 +00:00
2025-03-03 11:26:53 +00:00
2025-07-11 02:45:52 +00:00
2025-03-03 11:26:53 +00:00
2025-08-02 15:14:07 +00:00
2025-04-01 22:59:50 +00:00
2025-08-11 11:07:59 +00:00
2025-03-03 12:17:25 +00:00
2025-04-30 15:39:47 +00:00
2025-08-04 16:42:53 +00:00
2025-03-12 00:02:12 +00:00
2025-03-03 11:26:53 +00:00
2025-07-28 09:13:07 +00:00
2025-08-04 16:27:00 +00:00
2025-03-16 13:46:14 +00:00
2025-03-12 00:02:12 +00:00
2025-08-04 16:27:00 +00:00
2025-03-03 11:26:53 +00:00
2025-07-28 09:13:07 +00:00
2025-03-16 13:46:14 +00:00
2025-08-09 05:06:20 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-02-20 16:17:45 +00:00
2025-03-19 18:03:09 +00:00
2025-03-03 11:26:53 +00:00
2025-02-20 16:17:45 +00:00
2025-08-02 15:14:07 +00:00
2025-03-30 11:06:30 +00:00
2025-03-16 13:46:14 +00:00
2025-08-09 18:01:00 +00:00
2025-01-10 08:19:19 +00:00
2025-03-03 11:26:53 +00:00
2025-08-04 16:27:00 +00:00
2025-03-12 00:02:12 +00:00
2025-01-10 08:19:19 +00:00
2025-04-13 01:41:39 +00:00
2025-08-04 16:42:53 +00:00
2025-03-03 11:26:53 +00:00
2025-03-12 00:02:12 +00:00
2025-03-12 00:02:12 +00:00
2025-08-04 16:27:00 +00:00
2025-07-09 15:36:58 +00:00
2025-04-28 11:02:55 +00:00
2025-08-11 08:58:54 +00:00
2025-04-28 11:02:55 +00:00
2025-03-16 13:46:14 +00:00
2025-07-15 01:57:15 +00:00
2025-04-28 11:02:55 +00:00
2025-05-08 08:45:57 +00:00
2025-07-09 19:07:29 +00:00
2025-07-07 10:43:30 +00:00
2025-04-05 05:38:24 +00:00
2025-08-04 16:27:00 +00:00
2025-03-19 18:03:09 +00:00
2025-03-03 11:26:53 +00:00
2025-04-25 08:49:21 +00:00
2025-07-15 01:57:15 +00:00
2025-04-02 14:50:56 +00:00
2025-04-02 14:50:56 +00:00
2025-04-02 14:50:56 +00:00
2025-04-02 14:50:56 +00:00
2025-06-17 23:42:22 +00:00
2025-04-02 14:50:56 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-04-02 14:50:56 +00:00
2025-04-02 14:50:56 +00:00
2025-07-12 16:07:39 +00:00
2025-05-08 10:46:31 +00:00
2025-03-03 11:26:53 +00:00
2025-04-05 22:13:29 +00:00
2025-04-05 22:13:29 +00:00
2025-07-20 16:00:28 +00:00
2025-04-05 22:13:29 +00:00
2025-05-28 00:58:05 +00:00
2025-08-11 13:39:55 +00:00
2025-01-10 08:19:19 +00:00
2025-03-16 13:46:14 +00:00
2025-07-04 09:15:12 +00:00
2025-03-12 00:02:12 +00:00
2025-03-12 00:02:12 +00:00
2025-07-23 08:16:01 +00:00
2025-07-23 08:16:01 +00:00
2025-04-02 14:50:56 +00:00
2025-03-16 13:46:14 +00:00
2025-05-14 10:21:21 +00:00
2025-03-12 00:02:12 +00:00
2025-05-13 10:43:10 +00:00
2025-08-12 12:45:15 +00:00
2025-04-05 22:13:29 +00:00
2025-03-03 11:26:53 +00:00
2025-03-22 19:55:27 +00:00
2025-03-22 19:55:27 +00:00
2025-03-03 11:26:53 +00:00
2025-01-10 08:19:19 +00:00
2025-03-22 19:55:27 +00:00
2025-03-22 19:55:27 +00:00
2025-01-18 21:36:15 +00:00
2025-04-04 19:42:28 +00:00
2025-07-03 13:16:43 +00:00
2025-02-05 12:51:34 +00:00
2025-04-06 06:27:59 +00:00
2025-06-11 09:53:15 +00:00
2025-07-29 04:18:15 +00:00
2025-07-29 04:18:15 +00:00
2025-07-29 04:18:15 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-02-20 16:17:45 +00:00
2025-03-03 11:26:53 +00:00
2025-04-02 14:50:56 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-02-23 00:34:51 +00:00
2025-03-03 11:26:53 +00:00
2025-04-02 14:50:56 +00:00
2025-07-29 04:18:15 +00:00
2025-07-29 04:18:15 +00:00
2025-03-12 00:02:12 +00:00
2025-03-03 12:17:25 +00:00
2025-08-11 13:39:55 +00:00
2025-08-11 12:26:56 +00:00
2025-06-15 14:12:33 +00:00
2025-06-21 18:29:09 +00:00
2025-08-11 12:26:56 +00:00
2025-03-12 00:02:12 +00:00
2025-05-08 08:45:57 +00:00
2025-03-03 11:26:53 +00:00
2025-01-10 08:19:19 +00:00
2025-05-24 11:12:11 +00:00
2025-03-03 11:26:53 +00:00
2025-08-10 16:51:46 +00:00
2025-03-29 13:09:56 +00:00
2025-04-03 12:11:55 +00:00
2025-01-10 08:19:19 +00:00
2025-05-18 14:00:58 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-05-13 10:43:10 +00:00
2025-02-20 16:17:45 +00:00
2025-04-02 14:50:56 +00:00
2025-04-02 14:50:56 +00:00
2025-07-16 14:46:10 +00:00
2025-03-03 11:26:53 +00:00
2025-06-18 12:14:16 +00:00
2025-03-12 00:02:12 +00:00
2025-08-09 20:19:12 +00:00
2025-01-10 08:19:19 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-07-16 14:46:10 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-08-09 20:19:12 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-07-15 01:57:15 +00:00
2025-08-04 16:27:00 +00:00
2025-08-12 17:48:28 +00:00
2025-07-04 09:15:12 +00:00
2025-06-13 09:31:33 +00:00
2025-08-08 12:20:30 +00:00
2025-03-03 11:26:53 +00:00
2025-04-19 01:34:13 +00:00
2025-08-10 16:51:46 +00:00
2025-08-10 16:51:46 +00:00
2025-07-15 01:57:15 +00:00
2025-06-18 15:26:05 +00:00
2025-06-18 15:26:05 +00:00
2025-06-15 18:54:53 +00:00
2025-07-16 14:46:10 +00:00
2025-01-10 08:19:19 +00:00
2025-02-20 16:17:45 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-03-03 11:26:53 +00:00
2025-06-02 19:00:13 +00:00