Jonas Platte
30a0a39d2b
Outgoing derive: Replace incoming_no_deserialize with incoming_derive(!Deserialize)
2020-08-17 22:08:56 +02:00
Jonas Platte
f101611c3d
Add incoming_derive to Outgoing derive macro
2020-08-17 22:03:56 +02:00
Jonas Platte
e06c800701
Remove unnecessary clone in expand_derive_outgoing
2020-08-17 21:40:47 +02:00
Devin Ragotzy
906465d0c3
Replace all ::ruma_api:: with the discovered crate name or $crate
2020-08-12 14:01:43 +02:00
Devin Ragotzy
ddb1b48e71
Pass the attributes of any type deriving Outgoing to the Incoming type
2020-08-09 03:01:40 +02:00
Jonas Platte
1fbf05d71f
Fix some bad formatting
2020-08-08 21:52:58 +02:00
Devin Ragotzy
b2d45e4748
Rename generic_lifetime -> is_lifetime_generic
2020-08-07 00:48:01 +02:00
Devin Ragotzy
770a68d49b
Fix Outgoing derive missing lifetimes when branching for emitting code
2020-08-07 00:48:01 +02:00
Devin Ragotzy
e36149aea1
Add tuple lifetime stripping to derive_outgoing
2020-08-07 00:48:01 +02:00
Devin Ragotzy
2fbdd674ab
Refactor impl_outgoing_with_incoming_self and add struct variant
2020-08-01 18:19:17 +02:00
Devin Ragotzy
f0fb9a69c0
Handle enums and nested types properly
2020-08-01 18:19:17 +02:00
Jonas Platte
f5c529bc36
Try not to rely on prelude in ruma-api-macros generated code
...
… and fix some lines that were too wide
2020-08-01 01:21:09 +02:00
Devin Ragotzy
c86f0b106b
Re-add the Outgoing trait and derive macro
...
The Outgoing trait now has no attributes except incoming_no_deserialize,
it looks for any references and lifetimes in a struct declaration and
removes them. The point of the Outgoing trait is to allow references to
be serialized and owned values to come out of deserialization. It has no
ability to wrap values in Raw (then EventResult).
2020-07-31 12:59:19 -04:00