David Tolnay
6aa07fe0d6
Merge pull request #1229 from serde-rs/cold
...
Mark error construction as cold code
2018-04-21 14:57:11 -07:00
David Tolnay
c455720f81
Mark error construction as cold code
...
This eliminates 12% of the Serde-related code in the Xi release binary
as measured by:
nm -S target/release/xi-core \
| awk '/serde/{sum += strtonum("0x"$2)} END{print sum}'
2018-04-21 14:41:14 -07:00
David Tolnay
b07a208716
Merge pull request #1228 from serde-rs/untagged
...
Reduce instantiations of Result::map in Deserialize of unit variants
2018-04-21 13:46:36 -07:00
David Tolnay
df93fab5fa
Reduce instantiations of Result::map in Deserialize of unit variants
...
This eliminates 110 instantiations of Result::map in Xi and reduces
binary size by 229 kilobytes.
2018-04-21 13:27:17 -07:00
David Tolnay
1a972d2105
Merge pull request #1227 from serde-rs/ser
...
Improve Serialize of adjacently tagged newtype variants
2018-04-21 12:10:28 -07:00
David Tolnay
6d1807bb4a
Improve Serialize of adjacently tagged newtype variants
...
The existing implementation was unnecessarily complicated.
struct __AdjacentlyTagged<'__a> {
data: (&'__a String,),
phantom: _serde::export::PhantomData<AdjacentlyTagged>,
}
impl<'__a> _serde::Serialize for __AdjacentlyTagged<'__a> {
fn serialize<__S>(
&self,
__serializer: __S,
) -> _serde::export::Result<__S::Ok, __S::Error>
where
__S: _serde::Serializer,
{
let (__field0,) = self.data;
_serde::Serialize::serialize(__field0, __serializer)
}
}
_serde::ser::SerializeStruct::serialize_field(
&mut __struct,
"content",
&__AdjacentlyTagged {
data: (__field0,),
phantom: _serde::export::PhantomData::<AdjacentlyTagged>,
},
)?;
Instead the new implementation does simply:
_serde::ser::SerializeStruct::serialize_field(
&mut __struct,
"content",
__field0,
)?;
2018-04-21 11:41:39 -07:00
David Tolnay
b37cf858ce
Remove unneeded quote_spanned that uses call_site
2018-04-21 11:33:39 -07:00
David Tolnay
5f8fa33756
Quote's default has changed to call_site
2018-04-21 11:33:38 -07:00
David Tolnay
f3f006f411
Merge pull request #1226 from serde-rs/try
...
More efficient try!() alternative
2018-04-21 11:33:28 -07:00
David Tolnay
607966dcf7
Fix error message type inference in compile-fail/remote/wrong_de.rs
2018-04-21 11:21:13 -07:00
David Tolnay
6a8c39b2aa
More efficient try!() alternative
2018-04-21 10:53:13 -07:00
David Tolnay
382f3c2771
Release 1.0.41
2018-04-19 22:13:45 -07:00
David Tolnay
85ca12a8c3
Deserialize any integer from any buffered integer type
2018-04-19 22:11:14 -07:00
David Tolnay
541f9180cf
Release 1.0.40
2018-04-19 10:31:33 -07:00
David Tolnay
3c4961c48e
Lenient byte and string deserialization from buffered content
2018-04-19 10:21:55 -07:00
David Tolnay
184264ee92
Release 1.0.39
2018-04-17 11:35:45 -07:00
David Tolnay
6050229e7e
Simplify counting remaining elements
2018-04-17 00:15:09 -07:00
David Tolnay
e1db820c9f
Implement all &Content deserializer hints
2018-04-17 00:15:05 -07:00
David Tolnay
0081cc961d
Implement all Content deserializer hints
2018-04-17 00:14:59 -07:00
David Tolnay
9bc05803fe
Fix clippy lint about literal in format string
2018-04-15 22:07:47 -07:00
David Tolnay
8d113e67d6
Release 1.0.38
2018-04-14 20:30:18 -07:00
David Tolnay
6e206ce053
Name formatter args with a leading double underscore
2018-04-13 00:21:21 -07:00
David Tolnay
47fc9af472
Emit borrowed methods only if collect_other_fields
...
Without collect_other_fields, the visit_borrowed_str and
visit_borrowed_bytes implementations that were being generated were
identical to their default implementation of forwarding to visit_str and
visit_bytes.
2018-04-13 00:17:34 -07:00
David Tolnay
1651f86d56
Simplify Option that is always Some
2018-04-13 00:17:30 -07:00
David Tolnay
1157ac0118
Eliminate unnecessary braces in wrap_deserialize_variant_with
2018-04-12 23:48:38 -07:00
David Tolnay
202c10147e
Fix deserialize_with on a struct variant with one field
2018-04-12 23:44:53 -07:00
David Tolnay
9f38ca032e
Format with rustfmt 0.4.1
2018-04-12 23:04:47 -07:00
David Tolnay
00178ba795
Eliminate generic functions in bound.rs
2018-04-12 22:48:31 -07:00
David Tolnay
24700ebeb6
Move associated type search into with_bounds
2018-04-12 22:46:53 -07:00
David Tolnay
f06001c086
Name type_params consistently with Syn
2018-04-12 22:04:34 -07:00
David Tolnay
ec773fb7db
Make use of Generics::type_params iterator
2018-04-12 22:03:40 -07:00
David Tolnay
da8b457f66
Simplify with_where_predicates_from_fields
2018-04-12 21:47:08 -07:00
David Tolnay
a6e94e7122
Merge pull request #1213 from Osspial/assoc_type_derive
...
Support #[derive(Serialize, Deserialize)] when using associated types
2018-04-12 18:13:46 -07:00
Osspial
629bf7b354
Fix clippy warnings
2018-04-12 18:40:06 -04:00
Osspial
4415d10c61
Fix associated types only working for first generic parameter
...
Also, removes extraneous `where for`
2018-04-12 16:44:34 -04:00
Osspial
def8d6e8af
Add associated type test
2018-04-10 11:16:32 -04:00
Osspial
2e824e9aba
Limit type bounds to associated types
2018-04-10 10:53:37 -04:00
Osspial
fd14332729
Ignore skipped fields
2018-04-09 23:57:20 -04:00
Osspial
c413775574
Add partially-working where bounds for associated types
2018-04-09 23:22:18 -04:00
David Tolnay
5efb22ebee
Format no_std test code with rustfmt 0.4.1
2018-04-07 19:22:24 -07:00
David Tolnay
3e535325e1
Remove unused compiler_builtins_lib feature
2018-04-07 19:20:55 -07:00
David Tolnay
5653e5b15c
Remove eh_unwind_resume lang item
...
It appears this is no longer needed.
2018-04-07 19:20:07 -07:00
David Tolnay
8d85860064
Remove no longer needed compiler_builtins
...
The `compiler_builtins` crate is now automatically injected whenever the
`core` crate is injected.
2018-04-07 19:18:38 -07:00
David Tolnay
eed18ffab2
Release 1.0.37
2018-04-01 22:30:32 -07:00
David Tolnay
f8e1fa8ebc
Use Generics::make_where_clause helper
2018-04-01 22:25:50 -07:00
David Tolnay
860241aa88
Merge pull request #1205 from mitsuhiko/bugfix/tuple-struct-flatten
...
Produce error message for use of flatten in tuple structs
2018-04-02 07:09:39 +02:00
David Tolnay
6f6c60867d
Merge pull request #1204 from mitsuhiko/bugfix/flatten-struct-variant
...
Produce error message for use of flatten within struct variant
2018-04-02 07:09:23 +02:00
Armin Ronacher
77376f39ea
Produce error message for use of flatten in tuple structs
2018-04-01 22:11:21 +02:00
Armin Ronacher
302fac91a3
Produce error message for use of flatten within struct variant
2018-04-01 22:01:24 +02:00
David Tolnay
9c659d9d86
Format with rustfmt 0.4.1
2018-04-01 00:06:54 +02:00