[Pkg-rust-maintainers] Bug#924752: unblock: rust-failure/0.1.5-1

Ximin Luo infinity0 at debian.org
Sat Mar 16 21:38:35 GMT 2019


Package: release.debian.org
Severity: normal
User: release.debian.org at packages.debian.org
Usertags: unblock

Please unblock package rust-failure

rust-failure-derive was mistakenly uploaded a few weeks ago and has now
migrated to testing. It is not compatible with rust-failure 0.1.3-1 which
is currently in testing, and causes FTBFS of other packages e.g #924206.

Robin and kpcyrd, please confirm that this fixes the problem.

unblock rust-failure/0.1.5-1

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable'), (300, 'unstable'), (100, 'experimental'), (1, 'experimental-debug')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
-------------- next part --------------
diff -Nru rust-failure-0.1.3/book/src/error-errorkind.md rust-failure-0.1.5/book/src/error-errorkind.md
--- rust-failure-0.1.3/book/src/error-errorkind.md	2018-07-27 11:18:03.000000000 -0700
+++ rust-failure-0.1.5/book/src/error-errorkind.md	2018-12-29 15:13:10.000000000 -0800
@@ -39,6 +39,10 @@
 
 ```rust
 impl Fail for MyError {
+    fn name(&self) -> Option<&str> {
+        self.inner.name()
+    }
+
     fn cause(&self) -> Option<&Fail> {
         self.inner.cause()
     }
@@ -140,4 +144,4 @@
 
 [use-error]: ./use-error.html
 [custom-fail]: ./custom-fail.html
-[context-api]: https://boats.gitlab.io/failure/doc/failure/struct.Context.html
+[context-api]: https://docs.rs/failure/latest/failure/struct.Context.html
diff -Nru rust-failure-0.1.3/book/src/error-msg.md rust-failure-0.1.5/book/src/error-msg.md
--- rust-failure-0.1.3/book/src/error-msg.md	2018-07-26 14:32:49.000000000 -0700
+++ rust-failure-0.1.5/book/src/error-msg.md	2018-12-29 15:00:15.000000000 -0800
@@ -55,5 +55,5 @@
 
 [custom-fail]: ./custom-fail.html
 [use-error]: ./use-error.html
-[err-msg-api]: https://boats.gitlab.io/failure/doc/failure/fn.err_msg.html
-[format-err-api]: https://boats.gitlab.io/failure/doc/failure/macro.format_err.html
+[err-msg-api]: https://docs.rs/failure/latest/failure/fn.err_msg.html
+[format-err-api]: https://docs.rs/failure/latest/failure/macro.format_err.html
diff -Nru rust-failure-0.1.3/book/src/fail.md rust-failure-0.1.5/book/src/fail.md
--- rust-failure-0.1.3/book/src/fail.md	2018-10-20 12:05:53.000000000 -0700
+++ rust-failure-0.1.5/book/src/fail.md	2018-12-29 14:59:06.000000000 -0800
@@ -147,6 +147,6 @@
 implement `std::error::Error` and also override the backtrace and cause methods
 on `Fail`. We intend to enable this with specialization when it becomes stable.
 
-[derive-docs]: https://boats.gitlab.io/failure/derive-fail.html
+[derive-docs]: ./derive-fail.html
 [stderror]: https://doc.rust-lang.org/std/error/trait.Error.html
 [backtrace-crate]: http://alexcrichton.com/backtrace-rs
diff -Nru rust-failure-0.1.3/book/src/intro.md rust-failure-0.1.5/book/src/intro.md
--- rust-failure-0.1.3/book/src/intro.md	2018-07-27 11:09:57.000000000 -0700
+++ rust-failure-0.1.5/book/src/intro.md	2018-12-29 14:58:24.000000000 -0800
@@ -6,7 +6,7 @@
 * [API documentation][api]
 * [failure source code][repo]
 
-[api]: https://boats.gitlab.io/failure/doc/failure
+[api]: https://docs.rs/failure
 [repo]: https://github.com/rust-lang-nursery/failure
 
 ```rust
diff -Nru rust-failure-0.1.3/book/src/string-custom-error.md rust-failure-0.1.5/book/src/string-custom-error.md
--- rust-failure-0.1.3/book/src/string-custom-error.md	2018-10-20 12:05:53.000000000 -0700
+++ rust-failure-0.1.5/book/src/string-custom-error.md	2018-12-29 15:13:39.000000000 -0800
@@ -20,6 +20,10 @@
 }
 
 impl Fail for MyError {
+    fn name(&self) -> Option<&str> {
+        self.inner.name()
+    }
+
     fn cause(&self) -> Option<&Fail> {
         self.inner.cause()
     }
@@ -105,6 +109,10 @@
 }
 
 impl Fail for MyError {
+    fn name(&self) -> Option<&str> {
+        self.inner.name()
+    }
+
     fn cause(&self) -> Option<&Fail> {
         self.inner.cause()
     }
diff -Nru rust-failure-0.1.3/Cargo.lock.ci rust-failure-0.1.5/Cargo.lock.ci
--- rust-failure-0.1.3/Cargo.lock.ci	1969-12-31 16:00:00.000000000 -0800
+++ rust-failure-0.1.5/Cargo.lock.ci	2018-12-29 12:51:09.000000000 -0800
@@ -0,0 +1,136 @@
+[[package]]
+name = "backtrace"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "backtrace-sys 0.1.24 (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.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "backtrace-sys"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "cfg-if"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "failure"
+version = "0.1.4"
+dependencies = [
+ "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "failure_derive 0.1.4",
+]
+
+[[package]]
+name = "failure_derive"
+version = "0.1.4"
+dependencies = [
+ "failure 0.1.4",
+ "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.23 (registry+https://github.com/rust-lang/crates.io-index)",
+ "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "proc-macro2"
+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)",
+]
+
+[[package]]
+name = "quote"
+version = "0.6.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "syn"
+version = "0.15.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "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 = "synstructure"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "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.23 (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 = "unicode-xid"
+version = "0.1.0"
+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)",
+ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[metadata]
+"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a"
+"checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0"
+"checksum cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a8b715cb4597106ea87c7c84b2f1d452c7492033765df7f32651e66fcf749"
+"checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
+"checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d"
+"checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09"
+"checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c"
+"checksum rustc-demangle 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "01b90379b8664dd83460d59bdc5dd1fd3172b8913788db483ed1325171eab2f7"
+"checksum syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)" = "9545a6a093a3f0bd59adb472700acc08cad3776f860f16a897dfce8c88721cbc"
+"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
+"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff -Nru rust-failure-0.1.3/Cargo.toml rust-failure-0.1.5/Cargo.toml
--- rust-failure-0.1.3/Cargo.toml	1969-12-31 16:00:00.000000000 -0800
+++ rust-failure-0.1.5/Cargo.toml	1969-12-31 16:00:00.000000000 -0800
@@ -12,10 +12,10 @@
 
 [package]
 name = "failure"
-version = "0.1.3"
+version = "0.1.5"
 authors = ["Without Boats <boats at mozilla.com>"]
 description = "Experimental error handling abstraction."
-homepage = "https://boats.gitlab.io/failure"
+homepage = "https://rust-lang-nursery.github.io/failure/"
 documentation = "https://docs.rs/failure"
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang-nursery/failure"
@@ -24,7 +24,7 @@
 optional = true
 
 [dependencies.failure_derive]
-version = "0.1.3"
+version = "0.1.5"
 optional = true
 
 [features]
diff -Nru rust-failure-0.1.3/Cargo.toml.orig rust-failure-0.1.5/Cargo.toml.orig
--- rust-failure-0.1.3/Cargo.toml.orig	2018-10-20 12:09:05.000000000 -0700
+++ rust-failure-0.1.5/Cargo.toml.orig	2019-01-02 01:39:26.000000000 -0800
@@ -2,15 +2,15 @@
 authors = ["Without Boats <boats at mozilla.com>"]
 description = "Experimental error handling abstraction."
 documentation = "https://docs.rs/failure"
-homepage = "https://boats.gitlab.io/failure"
+homepage = "https://rust-lang-nursery.github.io/failure/"
 license = "MIT OR Apache-2.0"
 name = "failure"
 repository = "https://github.com/rust-lang-nursery/failure"
-version = "0.1.3"
+version = "0.1.5"
 
 [dependencies.failure_derive]
 optional = true
-version = "0.1.3"
+version = "0.1.5"
 path = "./failure_derive"
 
 [dependencies.backtrace]
diff -Nru rust-failure-0.1.3/.cargo_vcs_info.json rust-failure-0.1.5/.cargo_vcs_info.json
--- rust-failure-0.1.3/.cargo_vcs_info.json	1969-12-31 16:00:00.000000000 -0800
+++ rust-failure-0.1.5/.cargo_vcs_info.json	1969-12-31 16:00:00.000000000 -0800
@@ -0,0 +1,5 @@
+{
+  "git": {
+    "sha1": "65c825aeaa6b07a51e4fb1d824625485061604f4"
+  }
+}
diff -Nru rust-failure-0.1.3/debian/cargo-checksum.json rust-failure-0.1.5/debian/cargo-checksum.json
--- rust-failure-0.1.3/debian/cargo-checksum.json	2018-11-14 20:34:34.000000000 -0800
+++ rust-failure-0.1.5/debian/cargo-checksum.json	2019-03-16 14:27:28.000000000 -0700
@@ -1 +1 @@
-{"package":"6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7","files":{}}
+{"package":"795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2","files":{}}
diff -Nru rust-failure-0.1.3/debian/changelog rust-failure-0.1.5/debian/changelog
--- rust-failure-0.1.3/debian/changelog	2018-11-14 20:34:34.000000000 -0800
+++ rust-failure-0.1.5/debian/changelog	2019-03-16 14:27:28.000000000 -0700
@@ -1,3 +1,9 @@
+rust-failure (0.1.5-1) unstable; urgency=medium
+
+  * Package failure 0.1.5 from crates.io using debcargo 2.2.10
+
+ -- Robin Krahl <robin.krahl at ireas.org>  Sat, 16 Mar 2019 14:27:28 -0700
+
 rust-failure (0.1.3-1) unstable; urgency=medium
 
   * Package failure 0.1.3 from crates.io using debcargo 2.2.9
diff -Nru rust-failure-0.1.3/debian/control rust-failure-0.1.5/debian/control
--- rust-failure-0.1.3/debian/control	2018-11-14 20:34:34.000000000 -0800
+++ rust-failure-0.1.5/debian/control	2019-03-16 14:27:28.000000000 -0700
@@ -2,19 +2,20 @@
 Section: rust
 Priority: optional
 Build-Depends: debhelper (>= 11),
- dh-cargo (>= 10),
+ dh-cargo (>= 15),
  cargo:native <!nocheck>,
  rustc:native <!nocheck>,
  libstd-rust-dev <!nocheck>,
  librust-backtrace-0.3+default-dev (>= 0.3.3-~~) <!nocheck>,
- librust-failure-derive-0.1+default-dev (>= 0.1.3-~~) <!nocheck>
+ librust-failure-derive-0.1+default-dev (>= 0.1.5-~~) <!nocheck>
 Maintainer: Debian Rust Maintainers <pkg-rust-maintainers at alioth-lists.debian.net>
 Uploaders:
- Ximin Luo <infinity0 at debian.org>
+ Ximin Luo <infinity0 at debian.org>,
+ Robin Krahl <robin.krahl at ireas.org>
 Standards-Version: 4.2.0
 Vcs-Git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/failure]
 Vcs-Browser: https://salsa.debian.org/rust-team/debcargo-conf/tree/master/src/failure
-Homepage: https://boats.gitlab.io/failure
+Homepage: https://rust-lang-nursery.github.io/failure/
 
 Package: librust-failure-dev
 Architecture: any
@@ -31,7 +32,7 @@
 Provides:
  librust-failure-0-dev (= ${binary:Version}),
  librust-failure-0.1-dev (= ${binary:Version}),
- librust-failure-0.1.3-dev (= ${binary:Version})
+ librust-failure-0.1.5-dev (= ${binary:Version})
 Description: Experimental error handling abstraction - Rust source code
  This package contains the source for the Rust failure crate, packaged by
  debcargo for use with cargo and dh-cargo.
@@ -46,7 +47,7 @@
 Provides:
  librust-failure-0+backtrace-dev (= ${binary:Version}),
  librust-failure-0.1+backtrace-dev (= ${binary:Version}),
- librust-failure-0.1.3+backtrace-dev (= ${binary:Version})
+ librust-failure-0.1.5+backtrace-dev (= ${binary:Version})
 Description: Experimental error handling abstraction - feature "backtrace"
  This metapackage enables feature backtrace for the Rust failure crate, by
  pulling in any additional dependencies needed by that feature.
@@ -62,7 +63,7 @@
 Provides:
  librust-failure-0+default-dev (= ${binary:Version}),
  librust-failure-0.1+default-dev (= ${binary:Version}),
- librust-failure-0.1.3+default-dev (= ${binary:Version})
+ librust-failure-0.1.5+default-dev (= ${binary:Version})
 Description: Experimental error handling abstraction - feature "default"
  This metapackage enables feature default for the Rust failure crate, by pulling
  in any additional dependencies needed by that feature.
@@ -73,11 +74,11 @@
 Depends:
  ${misc:Depends},
  librust-failure-dev (= ${binary:Version}),
- librust-failure-derive-0.1+default-dev (>= 0.1.3-~~)
+ librust-failure-derive-0.1+default-dev (>= 0.1.5-~~)
 Provides:
  librust-failure-0+derive-dev (= ${binary:Version}),
  librust-failure-0.1+derive-dev (= ${binary:Version}),
- librust-failure-0.1.3+derive-dev (= ${binary:Version})
+ librust-failure-0.1.5+derive-dev (= ${binary:Version})
 Description: Experimental error handling abstraction - feature "derive"
  This metapackage enables feature derive for the Rust failure crate, by pulling
  in any additional dependencies needed by that feature.
@@ -88,11 +89,11 @@
 Depends:
  ${misc:Depends},
  librust-failure-dev (= ${binary:Version}),
- librust-failure-derive-0.1+default-dev (>= 0.1.3-~~)
+ librust-failure-derive-0.1+default-dev (>= 0.1.5-~~)
 Provides:
  librust-failure-0+failure-derive-dev (= ${binary:Version}),
  librust-failure-0.1+failure-derive-dev (= ${binary:Version}),
- librust-failure-0.1.3+failure-derive-dev (= ${binary:Version})
+ librust-failure-0.1.5+failure-derive-dev (= ${binary:Version})
 Description: Experimental error handling abstraction - feature "failure_derive"
  This metapackage enables feature failure_derive for the Rust failure crate, by
  pulling in any additional dependencies needed by that feature.
@@ -107,7 +108,7 @@
 Provides:
  librust-failure-0+std-dev (= ${binary:Version}),
  librust-failure-0.1+std-dev (= ${binary:Version}),
- librust-failure-0.1.3+std-dev (= ${binary:Version})
+ librust-failure-0.1.5+std-dev (= ${binary:Version})
 Description: Experimental error handling abstraction - feature "std"
  This metapackage enables feature std for the Rust failure crate, by pulling in
  any additional dependencies needed by that feature.
diff -Nru rust-failure-0.1.3/debian/copyright rust-failure-0.1.5/debian/copyright
--- rust-failure-0.1.3/debian/copyright	2018-11-14 20:34:34.000000000 -0800
+++ rust-failure-0.1.5/debian/copyright	2019-03-16 14:27:28.000000000 -0700
@@ -4,13 +4,14 @@
 Source: https://github.com/rust-lang-nursery/failure
 
 Files: *
-Copyright: 2017-2018 Without Boats <boats at mozilla.com>
+Copyright: 2017-2019 Without Boats <boats at mozilla.com>
 License: MIT or Apache-2.0
 
 Files: debian/*
 Copyright:
- 2018 Debian Rust Maintainers <pkg-rust-maintainers at alioth-lists.debian.net>
- 2018 Ximin Luo <infinity0 at debian.org>
+ 2018-2019 Debian Rust Maintainers <pkg-rust-maintainers at alioth-lists.debian.net>
+ 2018-2019 Ximin Luo <infinity0 at debian.org>
+ 2018-2019 Robin Krahl <robin.krahl at ireas.org>
 License: MIT or Apache-2.0
 
 License: Apache-2.0
diff -Nru rust-failure-0.1.3/debian/copyright.debcargo.hint rust-failure-0.1.5/debian/copyright.debcargo.hint
--- rust-failure-0.1.3/debian/copyright.debcargo.hint	2018-11-14 20:34:34.000000000 -0800
+++ rust-failure-0.1.5/debian/copyright.debcargo.hint	2019-03-16 14:27:28.000000000 -0700
@@ -14,8 +14,9 @@
 
 Files: debian/*
 Copyright:
- 2018 Debian Rust Maintainers <pkg-rust-maintainers at alioth-lists.debian.net>
- 2018 Ximin Luo <infinity0 at debian.org>
+ 2018-2019 Debian Rust Maintainers <pkg-rust-maintainers at alioth-lists.debian.net>
+ 2018-2019 Ximin Luo <infinity0 at debian.org>
+ 2018-2019 Robin Krahl <robin.krahl at ireas.org>
 License: MIT or Apache-2.0
 
 License: Apache-2.0
diff -Nru rust-failure-0.1.3/debian/debcargo.toml rust-failure-0.1.5/debian/debcargo.toml
--- rust-failure-0.1.3/debian/debcargo.toml	2018-11-14 20:34:34.000000000 -0800
+++ rust-failure-0.1.5/debian/debcargo.toml	2019-03-16 14:27:28.000000000 -0700
@@ -1,2 +1,2 @@
 overlay = "."
-uploaders = ["Ximin Luo <infinity0 at debian.org>"]
+uploaders = ["Ximin Luo <infinity0 at debian.org>", "Robin Krahl <robin.krahl at ireas.org>"]
diff -Nru rust-failure-0.1.3/examples/simple.rs rust-failure-0.1.5/examples/simple.rs
--- rust-failure-0.1.3/examples/simple.rs	2018-08-01 04:46:45.000000000 -0700
+++ rust-failure-0.1.5/examples/simple.rs	2018-12-29 14:57:56.000000000 -0800
@@ -16,7 +16,7 @@
 }
 
 fn main() {
-    for cause in Fail::iter_causes(&bad_function().unwrap_err()) {
-        println!("{}", cause);
+    for cause in Fail::iter_chain(&bad_function().unwrap_err()) {
+        println!("{}: {}", cause.name().unwrap_or("Error"), cause);
     }
 }
diff -Nru rust-failure-0.1.3/RELEASES.md rust-failure-0.1.5/RELEASES.md
--- rust-failure-0.1.3/RELEASES.md	2018-10-20 12:10:28.000000000 -0700
+++ rust-failure-0.1.5/RELEASES.md	2019-01-02 01:41:01.000000000 -0800
@@ -1,3 +1,16 @@
+# Version 0.1.5
+
+- Resolve a regression with error conversions (#290)
+- Added `name()` to `Fail` and `Error`
+
+# Version 0.1.4
+
+- Improved error reporting of the derive feature
+- Resolved a potential internal ambiguity when using the backtrace feature
+  that prevented backtrace from improving an upstream API.
+- Changed the bounds on std error compat conversions through the From trait
+  to take Sync and Send into account.
+
 # Version 0.1.3
 
 - Added `Context::map`
diff -Nru rust-failure-0.1.3/src/backtrace/mod.rs rust-failure-0.1.5/src/backtrace/mod.rs
--- rust-failure-0.1.3/src/backtrace/mod.rs	2018-08-01 04:46:45.000000000 -0700
+++ rust-failure-0.1.5/src/backtrace/mod.rs	2018-12-28 13:14:14.000000000 -0800
@@ -129,7 +129,7 @@
     impl Debug for Backtrace {
         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
             if let Some(bt) = self.internal.as_backtrace() {
-                bt.fmt(f)
+                Debug::fmt(bt, f)
             } else { Ok(()) }
         }
     }
@@ -137,7 +137,7 @@
     impl Display for Backtrace {
         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
             if let Some(bt) = self.internal.as_backtrace() {
-                bt.fmt(f)
+                Debug::fmt(bt, f)
             } else { Ok(()) }
         }
     }
diff -Nru rust-failure-0.1.3/src/compat.rs rust-failure-0.1.5/src/compat.rs
--- rust-failure-0.1.3/src/compat.rs	2018-07-27 11:09:57.000000000 -0700
+++ rust-failure-0.1.5/src/compat.rs	2019-01-02 01:37:18.000000000 -0800
@@ -44,4 +44,10 @@
             Box::new(Compat { error })
         }
     }
+
+    impl From<Error> for Box<StdError + Send + Sync> {
+        fn from(error: Error) -> Box<StdError + Send + Sync> {
+            Box::new(Compat { error })
+        }
+    }
 }
diff -Nru rust-failure-0.1.3/src/context.rs rust-failure-0.1.5/src/context.rs
--- rust-failure-0.1.3/src/context.rs	2018-10-20 12:05:53.000000000 -0700
+++ rust-failure-0.1.5/src/context.rs	2018-12-29 14:57:56.000000000 -0800
@@ -108,6 +108,10 @@
     }
 
     impl<D: Display + Send + Sync + 'static> Fail for Context<D> {
+        fn name(&self) -> Option<&str> {
+            self.failure.as_cause().and_then(|x| x.name())
+        }
+
         fn cause(&self) -> Option<&Fail> {
             self.failure.as_cause()
         }
diff -Nru rust-failure-0.1.3/src/error/mod.rs rust-failure-0.1.5/src/error/mod.rs
--- rust-failure-0.1.3/src/error/mod.rs	2018-10-20 12:05:53.000000000 -0700
+++ rust-failure-0.1.5/src/error/mod.rs	2018-12-29 14:57:56.000000000 -0800
@@ -70,6 +70,11 @@
         self.imp.failure()
     }
 
+    /// Returns the name of the underlying fail.
+    pub fn name(&self) -> Option<&str> {
+        self.as_fail().name()
+    }
+
     /// Returns a reference to the underlying cause of this `Error`. Unlike the
     /// method on `Fail`, this does not return an `Option`. The `Error` type
     /// always has an underlying failure.
diff -Nru rust-failure-0.1.3/src/error_message.rs rust-failure-0.1.5/src/error_message.rs
--- rust-failure-0.1.3/src/error_message.rs	2018-07-27 11:09:57.000000000 -0700
+++ rust-failure-0.1.5/src/error_message.rs	2018-12-29 14:57:56.000000000 -0800
@@ -19,7 +19,11 @@
     msg: D,
 }
 
-impl<D: Display + Debug + Sync + Send + 'static> Fail for ErrorMessage<D> { }
+impl<D: Display + Debug + Sync + Send + 'static> Fail for ErrorMessage<D> {
+    fn name(&self) -> Option<&str> {
+        Some("failure::ErrorMessage")
+    }
+}
 
 impl<D: Display + Debug + Sync + Send + 'static> Display for ErrorMessage<D> {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
diff -Nru rust-failure-0.1.3/src/lib.rs rust-failure-0.1.5/src/lib.rs
--- rust-failure-0.1.3/src/lib.rs	2018-09-29 12:23:03.000000000 -0700
+++ rust-failure-0.1.5/src/lib.rs	2018-12-29 14:57:56.000000000 -0800
@@ -23,10 +23,7 @@
 #![cfg_attr(not(feature = "std"), no_std)]
 #![deny(missing_docs)]
 #![deny(warnings)]
-#![cfg_attr(
-    feature = "small-error",
-    feature(extern_types, allocator_api)
-)]
+#![cfg_attr(feature = "small-error", feature(extern_types, allocator_api))]
 
 macro_rules! with_std { ($($i:item)*) => ($(#[cfg(feature = "std")]$i)*) }
 macro_rules! without_std { ($($i:item)*) => ($(#[cfg(not(feature = "std"))]$i)*) }
@@ -109,6 +106,16 @@
 /// `std::error::Error`, and are also `Send`, `Sync`, and `'static`, implement
 /// `Fail` by a blanket impl.
 pub trait Fail: Display + Debug + Send + Sync + 'static {
+    /// Returns the "name" of the error.
+    /// 
+    /// This is typically the type name. Not all errors will implement
+    /// this. This method is expected to be most useful in situations
+    /// where errors need to be reported to external instrumentation systems 
+    /// such as crash reporters.
+    fn name(&self) -> Option<&str> {
+        None
+    }
+
     /// Returns a reference to the underlying cause of this failure, if it
     /// is an error that wraps other errors.
     ///
@@ -166,10 +173,7 @@
     }
 
     #[doc(hidden)]
-    #[deprecated(
-        since = "0.1.2",
-        note = "please use the 'iter_chain()' method instead"
-    )]
+    #[deprecated(since = "0.1.2", note = "please use the 'iter_chain()' method instead")]
     fn causes(&self) -> Causes
     where
         Self: Sized,
@@ -259,10 +263,7 @@
     }
 
     /// Deprecated alias to `iter_chain`.
-    #[deprecated(
-        since = "0.1.2",
-        note = "please use the 'iter_chain()' method instead"
-    )]
+    #[deprecated(since = "0.1.2", note = "please use the 'iter_chain()' method instead")]
     pub fn causes(&self) -> Causes {
         Causes { fail: Some(self) }
     }
diff -Nru rust-failure-0.1.3/src/macros.rs rust-failure-0.1.5/src/macros.rs
--- rust-failure-0.1.3/src/macros.rs	2018-09-29 12:22:26.000000000 -0700
+++ rust-failure-0.1.5/src/macros.rs	2018-12-28 13:15:15.000000000 -0800
@@ -11,8 +11,8 @@
     ($e:expr) => {
         return Err($crate::err_msg($e));
     };
-    ($fmt:expr, $($arg:tt)+) => {
-        return Err($crate::err_msg(format!($fmt, $($arg)+)));
+    ($fmt:expr, $($arg:tt)*) => {
+        return Err($crate::err_msg(format!($fmt, $($arg)*)));
     };
 }
 
@@ -28,9 +28,9 @@
             bail!($e);
         }
     };
-    ($cond:expr, $fmt:expr, $($arg:tt)+) => {
+    ($cond:expr, $fmt:expr, $($arg:tt)*) => {
         if !($cond) {
-            bail!($fmt, $($arg)+);
+            bail!($fmt, $($arg)*);
         }
     };
 }
diff -Nru rust-failure-0.1.3/tests/basic_fail.rs rust-failure-0.1.5/tests/basic_fail.rs
--- rust-failure-0.1.3/tests/basic_fail.rs	1969-12-31 16:00:00.000000000 -0800
+++ rust-failure-0.1.5/tests/basic_fail.rs	2018-12-29 14:57:56.000000000 -0800
@@ -0,0 +1,21 @@
+#[macro_use]
+extern crate failure;
+
+use failure::Fail;
+
+#[test]
+fn test_name() {
+    #[derive(Fail, Debug)]
+    #[fail(display = "my error")]
+    struct MyError;
+
+    let err = MyError;
+
+    assert_eq!(err.to_string(), "my error");
+    assert_eq!(err.name(), Some("basic_fail::MyError"));
+
+    let ctx = err.context("whatever");
+
+    assert_eq!(ctx.to_string(), "whatever");
+    assert_eq!(ctx.name(), Some("basic_fail::MyError"));
+}
\ No newline at end of file
diff -Nru rust-failure-0.1.3/tests/fail_compat.rs rust-failure-0.1.5/tests/fail_compat.rs
--- rust-failure-0.1.3/tests/fail_compat.rs	1969-12-31 16:00:00.000000000 -0800
+++ rust-failure-0.1.5/tests/fail_compat.rs	2019-01-02 01:37:18.000000000 -0800
@@ -0,0 +1,35 @@
+#[macro_use]
+extern crate failure;
+
+use failure::Fail;
+
+fn return_failure() -> Result<(), failure::Error> {
+    #[derive(Fail, Debug)]
+    #[fail(display = "my error")]
+    struct MyError;
+
+    let err = MyError;
+    Err(err.into())
+}
+
+fn return_error() -> Result<(), Box<std::error::Error>> {
+    return_failure()?;
+    Ok(())
+}
+
+fn return_error_send_sync() -> Result<(), Box<std::error::Error + Send + Sync>> {
+    return_failure()?;
+    Ok(())
+}
+
+#[test]
+fn smoke_default_compat() {
+    let err = return_error();
+    assert!(err.is_err());
+}
+
+#[test]
+fn smoke_compat_send_sync() {
+    let err = return_error_send_sync();
+    assert!(err.is_err());
+}
diff -Nru rust-failure-0.1.3/tests/macro_trailing_comma.rs rust-failure-0.1.5/tests/macro_trailing_comma.rs
--- rust-failure-0.1.3/tests/macro_trailing_comma.rs	1969-12-31 16:00:00.000000000 -0800
+++ rust-failure-0.1.5/tests/macro_trailing_comma.rs	2018-12-29 14:56:59.000000000 -0800
@@ -0,0 +1,54 @@
+#[macro_use]
+extern crate failure;
+
+// NOTE:
+//
+// This test is in a separate file due to the fact that ensure! cannot be used
+// from within failure.
+//
+// (you get: 'macro-expanded `macro_export` macros from the current crate cannot
+//           be referred to by absolute paths')
+
+// Encloses an early-returning macro in an IIFE so that we
+// can treat it as a Result-returning function.
+macro_rules! wrap_early_return {
+    ($expr:expr) => {{
+        fn func() -> Result<(), failure::Error> {
+            let _ = $expr;
+
+            #[allow(unreachable_code)]
+            Ok(())
+        }
+        func().map_err(|e| e.to_string())
+    }};
+}
+
+#[test]
+fn bail() {
+    assert_eq!(
+        wrap_early_return!(bail!("test")),
+        wrap_early_return!(bail!("test",)));
+    assert_eq!(
+        wrap_early_return!(bail!("test {}", 4)),
+        wrap_early_return!(bail!("test {}", 4,)));
+}
+
+#[test]
+fn ensure() {
+    assert_eq!(
+        wrap_early_return!(ensure!(false, "test")),
+        wrap_early_return!(ensure!(false, "test",)));
+    assert_eq!(
+        wrap_early_return!(ensure!(false, "test {}", 4)),
+        wrap_early_return!(ensure!(false, "test {}", 4,)));
+}
+
+#[test]
+fn format_err() {
+    assert_eq!(
+        format_err!("test").to_string(),
+        format_err!("test",).to_string());
+    assert_eq!(
+        format_err!("test {}", 4).to_string(),
+        format_err!("test {}", 4,).to_string());
+}
diff -Nru rust-failure-0.1.3/.travis.yml rust-failure-0.1.5/.travis.yml
--- rust-failure-0.1.3/.travis.yml	2018-07-27 11:09:57.000000000 -0700
+++ rust-failure-0.1.5/.travis.yml	2018-12-29 12:50:00.000000000 -0800
@@ -6,6 +6,7 @@
     - nightly
 cache: cargo
 script:
+  - if [ "$TRAVIS_RUST_VERSION" == "1.18.0" ]; then cp Cargo.lock.ci Cargo.lock; fi
   - cargo test
   - cargo test --features backtrace
   - cargo check --no-default-features


More information about the Pkg-rust-maintainers mailing list