summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-06-16 10:19:26 -0400
committerNick Mathewson <nickm@torproject.org>2018-06-16 10:19:26 -0400
commit530d67410fab43e8a76544d05e4a50bdd526bca6 (patch)
tree07a6422a04b7a0391b2dad50efd012435d6be238
parent9dd45456fea88a7526a4e43dc7eef1fd0f8224da (diff)
parent748a0c7d0b7ed4657703371428aa2392d1383fe9 (diff)
downloadtor-530d67410fab43e8a76544d05e4a50bdd526bca6.tar.gz
tor-530d67410fab43e8a76544d05e4a50bdd526bca6.zip
Merge remote-tracking branch 'isis/bug26245' into maint-0.3.4
-rw-r--r--configure.ac6
-rw-r--r--src/rust/.cargo/config.in3
-rw-r--r--src/rust/external/crypto_digest.rs10
3 files changed, 12 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac
index d554ba8e55..5269d9c42e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -462,6 +462,11 @@ if test "x$enable_rust" = "xyes"; then
fi
AC_DEFINE([HAVE_RUST], 1, [have Rust])
+ if test "x$enable_fatal_warnings" = "xyes"; then
+ RUST_WARN=
+ else
+ RUST_WARN=#
+ fi
if test "x$enable_cargo_online_mode" = "xyes"; then
CARGO_ONLINE=
RUST_DL=#
@@ -515,6 +520,7 @@ if test "x$enable_rust" = "xyes"; then
AC_SUBST(TOR_RUST_STATIC_NAME)
AC_SUBST(CARGO_ONLINE)
+ AC_SUBST(RUST_WARN)
AC_SUBST(RUST_DL)
dnl Let's check the rustc version, too
diff --git a/src/rust/.cargo/config.in b/src/rust/.cargo/config.in
index 301e7fdbe7..70481bbcbe 100644
--- a/src/rust/.cargo/config.in
+++ b/src/rust/.cargo/config.in
@@ -6,3 +6,6 @@
@RUST_DL@ [source.vendored-sources]
@RUST_DL@ directory = '@TOR_RUST_DEPENDENCIES@'
+
+@RUST_WARN@ [build]
+@RUST_WARN@ rustflags = [ "-D", "warnings" ] \ No newline at end of file
diff --git a/src/rust/external/crypto_digest.rs b/src/rust/external/crypto_digest.rs
index bc49e6124c..4eae1550a2 100644
--- a/src/rust/external/crypto_digest.rs
+++ b/src/rust/external/crypto_digest.rs
@@ -66,13 +66,6 @@ const DIGEST_SHA512: digest_algorithm_t = 2;
const DIGEST_SHA3_256: digest_algorithm_t = 3;
const DIGEST_SHA3_512: digest_algorithm_t = 4;
-/// The total number of digest algorithms we currently support.
-///
-/// We can't access these from Rust, because their definitions in C require
-/// introspecting the `digest_algorithm_t` typedef, which is an enum, so we have
-/// to redefine them here.
-const N_DIGEST_ALGORITHMS: usize = DIGEST_SHA3_512 as usize + 1;
-
/// The number of hash digests we produce for a `common_digests_t`.
///
/// We can't access these from Rust, because their definitions in C require
@@ -117,6 +110,9 @@ struct common_digests_t {
/// A `smartlist_t` is just an alias for the `#[repr(C)]` type `Stringlist`, to
/// make it more clear that we're working with a smartlist which is owned by C.
#[allow(non_camel_case_types)]
+// BINDGEN_GENERATED: This type isn't actually bindgen generated, but the code
+// below it which uses it is. As such, this comes up as "dead code" as well.
+#[allow(dead_code)]
type smartlist_t = Stringlist;
/// All of the external functions from `src/common/crypto_digest.h`.