[librsvg: 48/48] Merge branch 'xml-processing'
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 48/48] Merge branch 'xml-processing'
- Date: Sat, 17 Nov 2018 10:24:03 +0000 (UTC)
commit d06e52ad9e2c13d76648ccc806df70ae94a670dc
Merge: 9dfa5755 ea63ebfc
Author: Federico Mena Quintero <federico gnome org>
Date: Sat Nov 17 04:10:54 2018 -0600
Merge branch 'xml-processing'
The dodgy stack of XML handlers we had in C is gone now; it's replaced
with a much simpler scheme in Rust code.
Pending things:
- Actually call libxml2 from Rust
- Handle XML entities in Rust
- Handle XML processing instructions in Rust
- Move the rsvg_handle_acquire_() machinery to Rust; this is basically
rsvg-io.c and the allow_load() stuff.
Cargo.lock | 350 +++++++------
Makefile.am | 4 +-
librsvg/rsvg-load.c | 610 +++++------------------
librsvg/rsvg-load.h | 3 +
librsvg/rsvg-private.h | 39 --
rsvg_internals/Cargo.toml | 1 +
rsvg_internals/src/css.rs | 6 +-
rsvg_internals/src/defs.rs | 85 +++-
rsvg_internals/src/filters/image.rs | 8 +-
rsvg_internals/src/handle.rs | 13 +-
rsvg_internals/src/lib.rs | 29 +-
rsvg_internals/src/load.rs | 84 +---
rsvg_internals/src/node.rs | 166 +-----
rsvg_internals/src/style.rs | 72 +++
rsvg_internals/src/text.rs | 48 +-
rsvg_internals/src/tree.rs | 8 -
rsvg_internals/src/xml.rs | 463 +++++++++++++++++
tests/Makefile.am | 1 +
tests/dimensions.c | 13 +-
tests/fixtures/loading/include-fallback.svg | 10 +
tests/fixtures/loading/include-text.svg | 6 +
tests/fixtures/loading/text.txt | 1 +
tests/fixtures/reftests/include-fallback-ref.png | Bin 0 -> 1093 bytes
tests/fixtures/reftests/include-fallback.svg | 10 +
tests/fixtures/reftests/include-text-ref.png | Bin 0 -> 940 bytes
tests/fixtures/reftests/include-text.svg | 6 +
tests/fixtures/reftests/text.txt | 1 +
27 files changed, 1053 insertions(+), 984 deletions(-)
---
diff --cc Cargo.lock
index 635e4e7b,aa40a180..508e0ed4
--- a/Cargo.lock
+++ b/Cargo.lock
@@@ -1,9 -1,9 +1,9 @@@
[[package]]
name = "aho-corasick"
- version = "0.6.8"
-version = "0.6.4"
++version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -12,9 -12,8 +12,9 @@@ version = "0.7.2
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"approx 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-complex 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libm 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-complex 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-complex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -38,7 -37,7 +38,7 @@@ name = "arrayvec
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
-- "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -56,11 -55,11 +56,11 @@@ name = "backtrace
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)",
- "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -84,7 -83,7 +84,7 @@@ source = "registry+https://github.com/r
[[package]]
name = "byteorder"
- version = "1.2.6"
-version = "1.2.3"
++version = "1.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@@ -126,7 -125,7 +126,7 @@@ source = "registry+https://github.com/r
[[package]]
name = "cfg-if"
- version = "0.1.5"
-version = "0.1.4"
++version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@@ -163,33 -162,32 +163,33 @@@ dependencies =
[[package]]
name = "criterion"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "criterion-plot 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "criterion-stats 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "csv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "failure 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "failure_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "criterion-plot 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "criterion-stats 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "csv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "failure_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"handlebars 0.32.4 (registry+https://github.com/rust-lang/crates.io-index)",
"itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "itertools-num 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "simplelog 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "itertools-num 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)",
- "simplelog 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "walkdir 2.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "simplelog 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "criterion-plot"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
"cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@@ -221,11 -219,11 +221,11 @@@ version = "0.3.1
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
"scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@@ -234,36 -232,36 +234,36 @@@ name = "crossbeam-utils
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "cssparser"
--version = "0.24.0"
++version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
-- "cssparser-macros 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cssparser-macros 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
"dtoa-short 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "phf 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
- "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
"procedural-masquerade 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.14.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "cssparser-macros"
--version = "0.3.4"
++version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "phf_codegen 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
- "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
"procedural-masquerade 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.14.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -272,7 -270,7 +272,7 @@@ version = "1.0.2
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"csv-core 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -280,7 -278,7 +280,7 @@@ name = "csv-core
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -306,24 -304,80 +306,81 @@@ name = "either
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
+ [[package]]
+ name = "encoding"
+ version = "0.2.33"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+
+ [[package]]
+ name = "encoding-index-japanese"
+ version = "1.20141219.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+
+ [[package]]
+ name = "encoding-index-korean"
+ version = "1.20141219.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+
+ [[package]]
+ name = "encoding-index-simpchinese"
+ version = "1.20141219.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+
+ [[package]]
+ name = "encoding-index-singlebyte"
+ version = "1.20141219.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+
+ [[package]]
+ name = "encoding-index-tradchinese"
+ version = "1.20141219.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+ "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+
+ [[package]]
+ name = "encoding_index_tests"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+
[[package]]
name = "failure"
- version = "0.1.2"
-version = "0.1.1"
++version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "failure_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "failure_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "failure_derive"
- version = "0.1.2"
-version = "0.1.1"
++version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "synstructure 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "synstructure 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -383,42 -410,16 +440,42 @@@ dependencies =
"typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
+[[package]]
+name = "gio"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gio-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "glib 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "glib-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gobject-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "gio-sys"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "glib-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gobject-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+ "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
[[package]]
name = "glib"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gobject-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -447,14 -448,14 +504,14 @@@ name = "handlebars
version = "0.32.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"pest 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "pest_derive 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "pest_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -494,16 -481,8 +551,13 @@@ source = "registry+https://github.com/r
[[package]]
name = "lazy_static"
-version = "1.0.1"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "lazy_static"
- version = "1.1.0"
++version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
- "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
[[package]]
name = "libc"
@@@ -528,10 -491,10 +582,10 @@@ dependencies =
[[package]]
name = "log"
- version = "0.4.5"
-version = "0.4.3"
++version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -541,7 -504,7 +595,7 @@@ source = "registry+https://github.com/r
[[package]]
name = "matrixmultiply"
--version = "0.1.14"
++version = "0.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"rawpointer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@@ -549,12 -512,10 +603,12 @@@
[[package]]
name = "memchr"
- version = "2.1.0"
-version = "2.0.1"
++version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -564,30 -525,30 +618,30 @@@ source = "registry+https://github.com/r
[[package]]
name = "nalgebra"
- version = "0.16.4"
-version = "0.16.0"
++version = "0.16.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "alga 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "alga 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
"approx 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"generic-array 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "matrixmultiply 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-complex 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matrixmultiply 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-complex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
"typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "nodrop"
--version = "0.1.12"
++version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "num-complex"
--version = "0.2.0"
++version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -730,7 -699,7 +784,7 @@@ source = "registry+https://github.com/r
[[package]]
name = "proc-macro2"
- version = "0.4.19"
-version = "0.4.6"
++version = "0.4.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@@ -753,10 -722,10 +807,10 @@@ source = "registry+https://github.com/r
[[package]]
name = "quote"
- version = "0.6.8"
-version = "0.6.3"
++version = "0.6.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -801,7 -762,7 +855,7 @@@ source = "registry+https://github.com/r
[[package]]
name = "rayon"
--version = "1.0.2"
++version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@@ -815,14 -776,14 +869,14 @@@ version = "1.4.1
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "redox_syscall"
--version = "0.1.40"
++version = "0.1.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@@ -830,47 -791,27 +884,47 @@@ name = "redox_termios
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
-- "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "regex"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
- "aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "regex"
- version = "1.0.5"
-version = "1.0.1"
++version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex-syntax 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "regex-syntax"
-version = "0.6.1"
+version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
-- "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "regex-syntax"
- version = "0.6.2"
++version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
- "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -879,29 -820,27 +933,30 @@@ version = "0.0.1
dependencies = [
"cairo-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"cairo-sys-rs 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "criterion 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "cssparser 0.24.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "criterion 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "cssparser 0.24.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cssparser 0.24.1 (registry+https://github.com/rust-lang/crates.io-index)",
"downcast-rs 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
"float-cmp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "gdk-pixbuf 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"glib-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
- "nalgebra 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+ "locale_config 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "nalgebra 0.16.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nalgebra 0.16.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
"owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
"pango 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"pango-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"pangocairo 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"pangocairo-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "phf 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "phf_codegen 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
+ "phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
- "rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -909,19 -848,6 +964,19 @@@ name = "rustc-demangle
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
+[[package]]
+name = "ryu"
- version = "0.2.6"
++version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "same-file"
- version = "1.0.3"
++version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
[[package]]
name = "scopeguard"
version = "0.3.3"
@@@ -929,36 -855,36 +984,36 @@@ source = "registry+https://github.com/r
[[package]]
name = "serde"
- version = "1.0.79"
-version = "1.0.70"
++version = "1.0.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "serde_derive"
- version = "1.0.79"
-version = "1.0.70"
++version = "1.0.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.14.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "serde_json"
- version = "1.0.31"
-version = "1.0.24"
++version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)",
+ "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "simplelog"
--version = "0.5.2"
++version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "chrono 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"term 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@@ -969,7 -895,7 +1024,7 @@@ source = "registry+https://github.com/r
[[package]]
name = "smallvec"
- version = "0.6.5"
-version = "0.6.3"
++version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@@ -997,21 -923,11 +1052,21 @@@ dependencies =
[[package]]
name = "syn"
-version = "0.14.4"
+version = "0.14.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "syn"
- version = "0.15.7"
++version = "0.15.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
- "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@@ -1025,13 -941,11 +1080,13 @@@ dependencies =
[[package]]
name = "synstructure"
- version = "0.9.0"
-version = "0.6.1"
++version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -1039,8 -953,8 +1094,8 @@@ name = "term
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -1048,8 -962,8 +1103,8 @@@ name = "termion
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
"redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@@ -1068,10 -982,11 +1123,10 @@@ source = "registry+https://github.com/r
[[package]]
name = "thread_local"
-version = "0.3.5"
+version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -1079,9 -994,9 +1134,9 @@@ name = "time
version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@@ -1091,7 -1006,7 +1146,7 @@@ source = "registry+https://github.com/r
[[package]]
name = "ucd-util"
--version = "0.1.1"
++version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@@ -1119,7 -1034,7 +1174,7 @@@ dependencies =
[[package]]
name = "utf8-ranges"
- version = "1.0.1"
-version = "1.0.0"
++version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@@ -1137,24 -1047,9 +1192,24 @@@ name = "void
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
+[[package]]
+name = "walkdir"
- version = "2.2.5"
++version = "2.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
- "same-file 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
[[package]]
name = "winapi"
-version = "0.3.5"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "winapi"
+version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@@ -1185,42 -1067,49 +1240,49 @@@ version = "0.4.0
source = "registry+https://github.com/rust-lang/crates.io-index"
[metadata]
- "checksum aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" =
"68f56c7353e5a9547cbd76ed90f7bb5ffc3ba09d4ea9bd1d8c06c8b1142eeb5a"
-"checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4"
-"checksum alga 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"d3d5dbb7fa6898343fd31e14e8abf2563b6c61a81c1a2e15a678a2f351a249ed"
++"checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" =
"1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
+"checksum alga 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"24bb00eeca59f2986c747b8c2f271d52310ce446be27428fc34705138b155778"
"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
"checksum approx 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"f71f10b5c4946a64aad7b8cf65e3406cd3da22fc448595991d22423cf6db67b4"
"checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" =
"a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef"
-"checksum atty 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" =
"2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1"
+"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" =
"9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" =
"89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a"
-"checksum backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)" =
"bff67d0c06556c0b8e6b5f090f0eac52d950d9dfd1d35ba04e4ca3543eaf6a7e"
+"checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" =
"c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0"
"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
-"checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789"
-"checksum byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"74c0b906e9446b0a2e4f760cdb3fa4b2c48cdc6db8766a845c54b6ff063fd2e9"
-"checksum c_vec 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"fa8f19d0a87ec08bc2925d8aa809bdd3b38d3f2c32f7b247f2cd4c56aa005ac5"
+"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
- "checksum byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"90492c5858dd7d2e78691cfb89f90d273a2800fc11d98f60786e5d87e2f83781"
++"checksum byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)" =
"94f88df23a25417badc922ab0f5716cc1330e87f71ddd9203b3a3ccd9cedf75d"
+"checksum c_vec 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"6c32b15e95ce816aaf991a41420854e6ba772a2679a9296d906eab1114f1b4e9"
"checksum cairo-rs 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"a110f269c2fd382df5fe8bd46dfa5f1b83608aa717fecb6e7a28c08c202f0e13"
"checksum cairo-sys-rs 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"0395175ecba60accac076a02c31d143b9dcd9d5eb5316d7163a3273803b765c7"
"checksum cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427"
-"checksum cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" =
"2119ea4867bd2b8ed3aecab467709720b2d55b1bcfe09f772fd68066eaf15275"
-"checksum cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"efe5c877e17a9c717a0bf3613b2709f723202c4e4675cc8f12926ded29bcb17e"
-"checksum chrono 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"6962c635d530328acc53ac6a955e83093fedc91c5809dfac1fa60fa470830a37"
+"checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" =
"f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16"
- "checksum cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"0c4e7bb64a8ebb0d856483e1e682ea3422f883c5f5615a90d51a2c82fe87fdd3"
++"checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
+"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-"checksum criterion 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"b027da737a814e7ffcfdbaf1c0509fbaea4c6df5f2e116c820ecf515ad39ac9b"
-"checksum criterion-plot 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"7894b77aa2820337ddf3a6655c24116fb7e53dbdc9735d43a4dec7da5d2c4716"
-"checksum criterion-stats 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"61ee46663c1c4c770b215f6c412fb1e822cfb5122dbc98347dc5789613c69d2b"
+"checksum criterion 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"c47d2b548c5647e1a436dc0cb78d4ebf51b6bf7ab101ed76662828bdd4d3a24a"
+"checksum criterion-plot 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"6e649d6aacdbbdb94ec659561a309a71336fc5655ed408f3afd28df2fc0c4f4f"
+"checksum criterion-stats 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"ff43cac80562f91ead0b617c1be74edf350adfaa195809d355de98dfc8f9237d"
"checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3"
"checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150"
"checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9"
--"checksum cssparser 0.24.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"495beddc39b1987b8e9f029354eccbd5ef88eb5f1cd24badb764dce338acf2e0"
--"checksum cssparser-macros 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"72b64d0d64184a082f38028396875c08c8ee083481f6f16e6e0cf52c338bd785"
-"checksum csv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"71903184af9960c555e7f3b32ff17390d20ecaaf17d4f18c4a0993f2df8a49e3"
++"checksum cssparser 0.24.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"b200a7193703a615c8d2751fed1ede39b9c4b3905e09d1ec7064a24688c190fc"
++"checksum cssparser-macros 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"b16e382d9b983fdb9ac6a36b37fdeb84ce3ea81f749febfee3463cfa7f24275e"
+"checksum csv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"6d54f6b0fd69128a2894b1a3e57af5849a0963c1cc77b165d30b896e40296452"
"checksum csv-core 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"4dd8e6d86f7ba48b4276ef1317edc8cc36167546d8972feb4a2b5fec0b374105"
"checksum downcast-rs 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"18df8ce4470c189d18aa926022da57544f31e154631eb4cfe796aea97051fe6c"
-"checksum dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab"
+"checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd"
"checksum dtoa-short 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"59020b8513b76630c49d918c33db9f4c91638e7d3404a28084083b87e33f76f2"
"checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0"
- "checksum failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"7efb22686e4a466b1ec1a15c2898f91fa9cb340452496dca654032de20ff95b9"
- "checksum failure_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"946d0e98a50d9831f5d589038d2ca7f8f455b1c21028c0db0e84116a12696426"
+ "checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" =
"6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
+ "checksum encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91"
+ "checksum encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81"
+ "checksum encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)"
= "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7"
+ "checksum encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a"
+ "checksum encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)"
= "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
+ "checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
-"checksum failure 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"934799b6c1de475a012a02dab0ace1ace43789ee4b99bcfbf1a2e3e8ced5de82"
-"checksum failure_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"c7cdda555bb90c9bb67a3b670a0f42de8e73f5981524123ad8578aafec8ddb8b"
++"checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7"
++"checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596"
"checksum float-cmp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"134a8fa843d80a51a5b77d36d42bc2def9edcb0262c914861d08129fd1926600"
"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
@@@ -1234,25 -1119,21 +1296,25 @@@
"checksum gobject-sys 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"70409d6405db8b1591602fcd0cbe8af52cd9976dd39194442b4c149ba343f86d"
"checksum handlebars 0.32.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"d89ec99d1594f285d4590fc32bac5f75cdab383f1123d504d27862c644a807dd"
"checksum itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)" =
"f58856976b776fedd95533137617a02fb25719f40e7d9b01c7043cd65474f450"
-"checksum itertools-num 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"4d78fa608383e6e608ba36f962ac991d5d6878d7203eb93b4711b14fa6717813"
-"checksum itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682"
-"checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739"
-"checksum libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)" =
"b685088df2b950fccadf07a7187c8ef846a959c142338a48f9dc0b94517eb5f1"
-"checksum log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"61bd98ae7f7b754bc53dca7d44b604f733c6bba044ea6f41bc8d89272d8161d2"
-"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376"
-"checksum matrixmultiply 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" =
"cac1a66eab356036af85ea093101a14223dc6e3f4c02a59b7d572e5b93270bf7"
-"checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d"
+"checksum itertools-num 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"83ca7b70b838f2e34bc6c2f367a1ed1cfe34fb82464adecadd31cdcc7da882fc"
+"checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b"
+"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
+"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" =
"76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
- "checksum lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"ca488b89a5657b0a2ecd45b95609b3e848cf1755da332a0da46e2b2b1cb371a7"
++"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1"
+"checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" =
"76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d"
+"checksum libm 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"03c0bb6d5ce1b5cc6fd0578ec1cbc18c9d88b5b591a5c7c1d6c6175e266a0819"
+"checksum locale_config 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"14fbee0e39bc2dd6a2427c4fdea66e9826cc1fd09b0a0b7550359f5f6efe1dab"
- "checksum log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"d4fcce5fa49cc693c312001daf1d13411c4a5283796bac1084299ea3e567113f"
++"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
+"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" =
"7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
- "checksum matrixmultiply 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" =
"cac1a66eab356036af85ea093101a14223dc6e3f4c02a59b7d572e5b93270bf7"
- "checksum memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"4b3629fe9fdbff6daa6c33b90f7c08355c1aca05a3d01fa8063b822fcf185f3b"
++"checksum matrixmultiply 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" =
"dcad67dcec2d58ff56f6292582377e6921afdf3bfbd533e26fb8900ae575e002"
++"checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16"
"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
- "checksum nalgebra 0.16.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"919c4aac1a371e2b3650b56da3dce4c80662c03bf8d762695646215df964fc46"
-"checksum nalgebra 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"4534bc88a178e411e634e1e44e7f2ad6e9bf062ea539f40e579bd49ef2fad056"
--"checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" =
"9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2"
--"checksum num-complex 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"68de83578789e0fbda3fa923035be83cf8bfd3b30ccfdecd5aa89bf8601f408e"
++"checksum nalgebra 0.16.10 (registry+https://github.com/rust-lang/crates.io-index)" =
"0f925f48e18bbd78e76aea47ad2091e919574099552831c2c4802aac65a8f9e7"
++"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" =
"2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
++"checksum num-complex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"107b9be86cd2481930688277b675b0114578227f034674726605b8a482d8baf8"
"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" =
"e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
-"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" =
"92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
-"checksum num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"630de1ef5cc79d0cdd78b7e33b81f083cbfe90de0f4b2b2f07f905867c70e9fe"
+"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
"checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30"
"checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37"
"checksum pango 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"45374801e224373c3c0393cd48073c81093494c8735721e81d1dbaa4096b2767"
@@@ -1260,67 -1141,56 +1322,67 @@@
"checksum pangocairo 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"db4130d0e0567b177178c9568466277ff167cb43a245b2881e203509ea5fbd84"
"checksum pangocairo-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"decc9523cd5bbba49a67ed8d2ef7dfca957f4760bf420a1ea4a82634da26381c"
"checksum pest 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"0fce5d8b5cc33983fc74f78ad552b5522ab41442c4ca91606e4236eb4b5ceefc"
-"checksum pest_derive 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" =
"ab94faafeb93f4c5e3ce81ca0e5a779529a602ad5d09ae6d21996bfb8b6a52bf"
-"checksum phf 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)" =
"7d37a244c75a9748e049225155f56dbcb98fe71b192fd25fd23cb914b5ad62f2"
-"checksum phf_codegen 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)" =
"4e4048fe7dd7a06b8127ecd6d3803149126e9b33c7558879846da3a63f734f2b"
-"checksum phf_generator 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)" =
"05a079dd052e7b674d21cb31cbb6c05efd56a2cd2827db7692e2f1a507ebd998"
-"checksum phf_shared 0.7.22 (registry+https://github.com/rust-lang/crates.io-index)" =
"c2261d544c2bb6aa3b10022b0be371b9c7c64f762ef28c6f5d4f1ef6d97b5930"
-"checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" =
"110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f"
-"checksum proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"effdb53b25cdad54f8f48843d67398f7ef2e14f12c1b4cb4effc549a6462a4d6"
+"checksum pest_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" =
"ca3294f437119209b084c797604295f40227cffa35c57220b1e99a6ff3bf8ee4"
+"checksum phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" =
"cec29da322b242f4c3098852c77a0ca261c9c01b806cae85a5572a1eb94db9a6"
+"checksum phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" =
"7d187f00cd98d5afbcd8898f6cf181743a449162aeb329dcd2f3849009e605ad"
+"checksum phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" =
"03dc191feb9b08b0dc1330d6549b795b9d81aec19efe6b4a45aec8d4caee0c4b"
+"checksum phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" =
"b539898d22d4273ded07f64a05737649dc69095d92cb87c7097ec68e3f150b93"
+"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" =
"676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
- "checksum proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)" =
"ffe022fb8c8bd254524b0b3305906c1921fa37a84a644e29079a9e62200c3901"
++"checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" =
"77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09"
"checksum procedural-masquerade 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"9a1574a51c3fd37b26d2c0032b649d08a7d51d4cca9c41bbc5bf7118fa4509d0"
"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" =
"7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
- "checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" =
"dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5"
-"checksum quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"e44651a0dc4cdd99f71c83b561e221f714912d11af1a4dff0631f923d53af035"
-"checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5"
-"checksum rand 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"12397506224b2f93e6664ffc4f664b29be8208e5157d3d90b44f09b5fae470ea"
-"checksum rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"edecf0f94da5551fc9b492093e30b041a891657db7940ee221f9d2f66e82eef2"
++"checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" =
"53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c"
+"checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd"
+"checksum rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c"
+"checksum rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"1961a422c4d189dfb50ffa9320bf1f2a9bd54ecb92792fb9477f99a1045f3372"
+"checksum rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"0905b6b7079ec73b314d4c748701f6931eb79fd97c668caa3f1899b22b32c6db"
"checksum rawpointer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"ebac11a9d2e11f2af219b8b8d833b76b1ea0e054aa0e8d8e9e4cbde353bdf019"
--"checksum rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"df7a791f788cb4c516f0e091301a29c2b71ef680db5e644a7d68835c8ae6dbfa"
++"checksum rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"373814f27745b2686b350dd261bfd24576a6fb0e2c5919b3a2b6005f820b0473"
"checksum rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"b055d1e92aba6877574d8fe604a63c8b5df60f60e5982bf7ccbb1338ea527356"
--"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" =
"c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1"
++"checksum redox_syscall 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" =
"cf8fb82a4d1c9b28f1c26c574a5b541f5ffb4315f6c9a791fa47b6a04438fe93"
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
-"checksum regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"13c93d55961981ba9226a213b385216f83ab43bd6ac53ab16b2eeb47e337cf4e"
-"checksum regex-syntax 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"05b06a75f5217880fc5e905952a42750bf44787e56a6c6d6852ed0992f5e1d54"
+"checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" =
"9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384"
- "checksum regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"2069749032ea3ec200ca51e4a31df41759190a88edca0d2d86ee8bedf7073341"
++"checksum regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"ee84f70c8c08744ea9641a731c7fadb475bf2ecc52d7f627feb833e0b3990467"
+"checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7"
- "checksum regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"747ba3b235651f6e2f67dfa8bcdcd073ddb7c243cb21c442fc12395dfcac212d"
++"checksum regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"fbc557aac2b708fe84121caf261346cc2eed71978024337e42eb46b8a252ac6e"
"checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" =
"bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395"
- "checksum ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"7153dd96dade874ab973e098cb62fcdbb89a03682e46b144fd09550998d4a4a7"
- "checksum same-file 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"10f7794e2fda7f594866840e95f5c5962e886e228e68b6505885811a94dd728c"
++"checksum ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" =
"eb9e9b8cde282a9fe6a42dd4681319bfb63f121b8a8ee9439c6f4107e58a46f7"
++"checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267"
"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
- "checksum serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)" =
"84257ccd054dc351472528c8587b4de2dbf0dc0fe2e634030c1a90bfdacebaa9"
- "checksum serde_derive 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)" =
"31569d901045afbff7a9479f793177fe9259819aff10ab4f89ef69bbc5f567fe"
- "checksum serde_json 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)" =
"bb47a3d5c84320222f66d7db21157c4a7407755de41798f9b4c1c40593397b1a"
-"checksum serde 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)" =
"0c3adf19c07af6d186d91dae8927b83b0553d07ca56cbf7f2f32560455c91920"
-"checksum serde_derive 1.0.70 (registry+https://github.com/rust-lang/crates.io-index)" =
"3525a779832b08693031b8ecfb0de81cd71cfd3812088fafe9a7496789572124"
-"checksum serde_json 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)" =
"c3c6908c7b925cd6c590358a4034de93dbddb20c45e1d021931459fd419bf0e2"
--"checksum simplelog 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"9cc12b39fdf4c9a07f88bffac2d628f0118ed5ac077a4b0feece61fadf1429e5"
-"checksum siphasher 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"0df90a788073e8d0235a67e50441d47db7c8ad9debd91cbf43736a2a92d36537"
-"checksum smallvec 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"26df3bb03ca5eac2e64192b723d51f56c1b1e0860e7c766281f4598f181acdc8"
-"checksum stable_deref_trait 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"ffbc596e092fe5f598b12ef46cc03754085ac2f4d8c739ad61c4ae266cc3b3fa"
++"checksum serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" =
"15c141fc7027dd265a47c090bf864cf62b42c4d228bbcf4e51a0c9e2b0d3f7ef"
++"checksum serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" =
"225de307c6302bec3898c51ca302fc94a7a1697ef0845fcee6448f33c032249c"
++"checksum serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" =
"c37ccd6be3ed1fdf419ee848f7c758eb31b054d7cd3ae3600e3bae0adf569811"
++"checksum simplelog 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"2e95345f185d5adeb8ec93459d2dc99654e294cc6ccf5b75414d8ea262de9a13"
+"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
- "checksum smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"153ffa32fd170e9944f7e0838edf824a754ec4c1fc64746fcc9fe1f8fa602e5d"
++"checksum smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"622df2d454c29a4d89b30dc3b27b42d7d90d6b9e587dbf8f67652eb7514da484"
+"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" =
"d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
-"checksum syn 0.14.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"2beff8ebc3658f07512a413866875adddd20f4fd47b2a4e6c9da65cd281baaea"
+"checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" =
"261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741"
- "checksum syn 0.15.7 (registry+https://github.com/rust-lang/crates.io-index)" =
"455a6ec9b368f8c479b0ae5494d13b22dc00990d2f00d68c9dc6a2dc4f17f210"
++"checksum syn 0.15.21 (registry+https://github.com/rust-lang/crates.io-index)" =
"816b7af21405b011a23554ea2dc3f6576dc86ca557047c34098c1d741f10f823"
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
- "checksum synstructure 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"85bb9b7550d063ea184027c9b8c20ac167cd36d3e06b3a40bceb9d746dc1a7b7"
-"checksum synstructure 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"3a761d12e6d8dcb4dcf952a7a89b475e3a9d69e4a69307e01a470977642914bd"
++"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
"checksum term 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"5e6b677dd1e8214ea1ef4297f85dbcbed8e8cdddb561040cc998ca2551c37561"
"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
"checksum thread-scoped 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"bcbb6aa301e5d3b0b5ef639c9a9c7e2f1c944f177b460c04dc24c69b1fa2bd99"
-"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963"
+"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" =
"d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b"
"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
--"checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d"
++"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" =
"535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" =
"8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
- "checksum utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"fd70f467df6810094968e2fce0ee1bd0e87157aceb026a8c083bcf5e25b9efe4"
-"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"
++"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
+"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" =
"6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
- "checksum walkdir 2.2.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"af464bc7be7b785c7ac72e266a6b67c4c9070155606f51655a650a6686204e35"
-"checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" =
"773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd"
++"checksum walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)" =
"9d9d7ed3431229a144296213105a390676cc49c9b6a72bd19f3176c98e129fa1"
+"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" =
"167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" =
"92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
+"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+"checksum winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" =
"afc5508759c5bf4285e61feb862b6083c8480aec864fa17a81fdec6f69b461ab"
"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" =
"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --cc rsvg_internals/src/filters/image.rs
index 0a1ab35c,37e01288..c0cbdf7b
--- a/rsvg_internals/src/filters/image.rs
+++ b/rsvg_internals/src/filters/image.rs
@@@ -5,9 -5,15 +5,10 @@@ use cairo::{self, ImageSurface, MatrixT
use aspect_ratio::AspectRatio;
use attributes::Attribute;
+ use defs::Reference;
use drawing_ctx::DrawingCtx;
use error::RenderingError;
-use handle::RsvgHandle;
+use handle::{self, RsvgHandle};
use node::{CascadedValues, NodeResult, NodeTrait, RsvgNode};
use parsers::parse;
use property_bag::PropertyBag;
diff --cc rsvg_internals/src/handle.rs
index e3506ae2,a081734d..194cfd75
--- a/rsvg_internals/src/handle.rs
+++ b/rsvg_internals/src/handle.rs
@@@ -39,13 -34,16 +39,18 @@@ extern "C"
error: *mut *mut glib_sys::GError,
) -> *mut u8;
+ fn rsvg_handle_keep_image_data(handle: *const RsvgHandle) -> glib_sys::gboolean;
++
+ fn rsvg_load_handle_xml_xinclude(
+ handle: *mut RsvgHandle,
+ url: *const libc::c_char,
+ ) -> glib_sys::gboolean;
}
- pub fn get_defs<'a>(handle: *const RsvgHandle) -> &'a Defs {
+ pub fn get_defs<'a>(handle: *const RsvgHandle) -> &'a mut Defs {
unsafe {
let d = rsvg_handle_get_defs(handle);
- &*(d as *const Defs)
+ &mut *(d as *mut Defs)
}
}
@@@ -109,78 -100,6 +114,82 @@@ pub fn acquire_data(handle: *mut RsvgHa
}
}
+fn keep_image_data(handle: *const RsvgHandle) -> bool {
+ unsafe { from_glib(rsvg_handle_keep_image_data(handle)) }
+}
+
+pub fn image_surface_new_from_href(
+ handle: *mut RsvgHandle,
+ href: &str,
+) -> Result<ImageSurface, LoadingError> {
+ let data = acquire_data(handle, href)?;
+
+ if data.data.len() == 0 {
+ return Err(LoadingError::EmptyData);
+ }
+
+ let loader = if let Some(ref content_type) = data.content_type {
+ PixbufLoader::new_with_mime_type(content_type)?
+ } else {
+ PixbufLoader::new()
+ };
+
+ loader.write(&data.data)?;
+ loader.close()?;
+
+ let pixbuf = loader.get_pixbuf().ok_or(LoadingError::Unknown)?;
+
+ let surface = SharedImageSurface::from_pixbuf(&pixbuf)?.into_image_surface()?;
+
+ if keep_image_data(handle) {
+ let mime_type = data.content_type.or_else(|| {
+ // Try to get the content type from the loader
+
+ loader.get_format().and_then(|format| {
+ let content_types = format.get_mime_types();
+
+ if content_types.len() != 0 {
+ Some(content_types[0].clone())
+ } else {
+ None
+ }
+ })
+ });
+
+ if let Some(mime_type) = mime_type {
+ extern "C" {
+ fn cairo_surface_set_mime_data(
+ surface: *mut cairo_sys::cairo_surface_t,
+ mime_type: *const libc::c_char,
+ data: *mut libc::c_char,
+ length: libc::c_ulong,
+ destroy: cairo_sys::cairo_destroy_func_t,
+ closure: *mut libc::c_void,
+ ) -> Status;
+ }
+
+ let data_ptr = ToGlibContainerFromSlice::to_glib_full_from_slice(&data.data);
+
+ unsafe {
+ let status = cairo_surface_set_mime_data(
+ surface.to_glib_none().0,
+ mime_type.to_glib_none().0,
+ data_ptr as *mut _,
+ data.data.len() as libc::c_ulong,
+ Some(glib_sys::g_free),
+ data_ptr as *mut _,
+ );
+
+ if status != Status::Success {
+ return Err(LoadingError::Cairo(status));
+ }
+ }
+ }
+ }
+
+ Ok(surface)
+}
++
+ pub fn load_xml_xinclude(handle: *mut RsvgHandle, url: &str) -> bool {
+ unsafe { from_glib(rsvg_load_handle_xml_xinclude(handle, url.to_glib_none().0)) }
+ }
diff --cc rsvg_internals/src/lib.rs
index 3bd41a1c,ec6d4132..520d7e68
--- a/rsvg_internals/src/lib.rs
+++ b/rsvg_internals/src/lib.rs
@@@ -5,8 -5,9 +5,10 @@@
extern crate cairo;
extern crate cairo_sys;
extern crate cssparser;
+ extern crate downcast_rs;
+ extern crate encoding;
extern crate float_cmp;
+extern crate gdk_pixbuf;
extern crate glib;
extern crate glib_sys;
extern crate itertools;
@@@ -26,11 -25,14 +28,9 @@@ extern crate regex
#[macro_use]
extern crate lazy_static;
- extern crate downcast_rs;
-
pub use color::{rsvg_css_parse_color, ColorKind, ColorSpec};
-pub use css::{
- rsvg_css_parse_into_handle,
- rsvg_css_styles_define,
- rsvg_css_styles_free,
- rsvg_css_styles_new,
-};
+pub use css::{rsvg_css_parse_into_handle, rsvg_css_styles_free, rsvg_css_styles_new};
pub use defs::{rsvg_defs_free, rsvg_defs_lookup, rsvg_defs_new};
diff --cc rsvg_internals/src/node.rs
index 36e3df03,4337ef92..8642002f
--- a/rsvg_internals/src/node.rs
+++ b/rsvg_internals/src/node.rs
@@@ -1,7 -1,6 +1,8 @@@
use cairo::{Matrix, MatrixTrait};
use downcast_rs::*;
+ use glib;
+use glib::translate::*;
+use glib_sys;
use std::cell::{Cell, Ref, RefCell};
use std::ptr;
use std::rc::{Rc, Weak};
diff --cc rsvg_internals/src/text.rs
index 2f0ff799,c664781a..cd33a7df
--- a/rsvg_internals/src/text.rs
+++ b/rsvg_internals/src/text.rs
@@@ -10,10 -7,10 +7,10 @@@ use error::RenderingError
use font_props::FontWeightSpec;
use handle::RsvgHandle;
use length::*;
- use node::{boxed_node_new, CascadedValues, NodeResult, NodeTrait, NodeType, RsvgNode};
+ use node::{CascadedValues, NodeResult, NodeTrait, NodeType, RsvgNode};
use parsers::parse;
use property_bag::PropertyBag;
-use space::xml_space_normalize;
+use space::{xml_space_normalize, NormalizeDefault, XmlSpaceNormalize};
use state::{
ComputedValues,
Direction,
@@@ -55,45 -50,18 +52,49 @@@ pub struct NodeChars
}
impl NodeChars {
- fn new() -> NodeChars {
+ pub fn new() -> NodeChars {
NodeChars {
string: RefCell::new(String::new()),
+ space_normalized: RefCell::new(None),
}
}
- fn append(&self, s: &str) {
+ pub fn get_string(&self) -> String {
+ self.string.borrow().clone()
+ }
+
+ pub fn append(&self, s: &str) {
self.string.borrow_mut().push_str(s);
+ *self.space_normalized.borrow_mut() = None;
+ }
+
+ fn ensure_normalized_string(&self, node: &RsvgNode, values: &ComputedValues) {
+ let mut normalized = self.space_normalized.borrow_mut();
+
+ if (*normalized).is_none() {
+ let mode = match values.xml_space {
+ XmlSpace::Default => XmlSpaceNormalize::Default(NormalizeDefault {
+ has_element_before: node.has_previous_sibling(),
+ has_element_after: node.has_next_sibling(),
+ }),
+
+ XmlSpace::Preserve => XmlSpaceNormalize::Preserve,
+ };
+
+ *normalized = Some(xml_space_normalize(mode, &self.string.borrow()));
+ }
+ }
+
+ fn create_layout(
+ &self,
+ node: &RsvgNode,
+ values: &ComputedValues,
+ draw_ctx: &DrawingCtx<'_>,
+ ) -> pango::Layout {
+ self.ensure_normalized_string(node, values);
+ let norm = self.space_normalized.borrow();
+ let s = norm.as_ref().unwrap();
+ create_pango_layout(draw_ctx, values, &s)
}
fn measure(
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]