Include <functional> when deriving Hash impl shim
diff --git a/gen/src/include.rs b/gen/src/include.rs
index 9db95be..3a0d66b 100644
--- a/gen/src/include.rs
+++ b/gen/src/include.rs
@@ -27,6 +27,7 @@
pub cstdint: bool,
pub cstring: bool,
pub exception: bool,
+ pub functional: bool,
pub initializer_list: bool,
pub iterator: bool,
pub memory: bool,
@@ -77,6 +78,7 @@
cstdint,
cstring,
exception,
+ functional,
initializer_list,
iterator,
memory,
@@ -107,6 +109,9 @@
if exception {
writeln!(out, "#include <exception>");
}
+ if functional {
+ writeln!(out, "#include <functional>");
+ }
if initializer_list {
writeln!(out, "#include <initializer_list>");
}
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 28a3eec..e29d5f6 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -158,6 +158,7 @@
if let Api::Struct(strct) = api {
if derive::contains(&strct.derives, Trait::Hash) {
out.next_section();
+ out.include.functional = true;
let qualified = strct.name.to_fully_qualified();
writeln!(out, "template <> struct hash<{}> {{", qualified);
writeln!(