aboutsummaryrefslogtreecommitdiff
path: root/src/value.rs
diff options
context:
space:
mode:
authorEvgenii Pashkin <eapashkin@gmail.com>2017-02-19 18:15:58 +0300
committerEvgenii Pashkin <eapashkin@gmail.com>2017-02-19 18:15:58 +0300
commit2e71aaf8f63887ac07bb3764c40ff0a8ba1f7f2a (patch)
treeefc53d170863c865317daf6062671ddafa3e3055 /src/value.rs
parentccd5de0b83c52d062f2bd3e195a772bde2bf6487 (diff)
downloadmilf-rs-2e71aaf8f63887ac07bb3764c40ff0a8ba1f7f2a.tar.gz
milf-rs-2e71aaf8f63887ac07bb3764c40ff0a8ba1f7f2a.zip
Fixed sorting of table values
Diffstat (limited to 'src/value.rs')
-rw-r--r--src/value.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/value.rs b/src/value.rs
index 4d56023..3a366d8 100644
--- a/src/value.rs
+++ b/src/value.rs
@@ -367,12 +367,12 @@ impl ser::Serialize for Value {
// array-of-tables) as all keys must be emitted first.
for (k, v) in t {
if !v.is_table() && !v.is_array() ||
- (v.as_array().map(|a| a.len() == 0).unwrap_or(false)) {
+ (v.as_array().map(|a| !a.iter().any(|v| v.is_table())).unwrap_or(false)) {
map.serialize_entry(k, v)?;
}
}
for (k, v) in t {
- if v.as_array().map(|a| a.len() > 0).unwrap_or(false) {
+ if v.as_array().map(|a| a.iter().any(|v| v.is_table())).unwrap_or(false) {
map.serialize_entry(k, v)?;
}
}