deny(missing_docs) at crate root

To help flag missing documentation on publicly accessible APIs.
diff --git a/src/cxx_string.rs b/src/cxx_string.rs
index dce7053..126acb1 100644
--- a/src/cxx_string.rs
+++ b/src/cxx_string.rs
@@ -213,6 +213,7 @@
     space: MaybeUninit<[usize; 8]>,
 }
 
+#[allow(missing_docs)]
 impl StackString {
     pub fn new() -> Self {
         StackString {
diff --git a/src/exception.rs b/src/exception.rs
index e0c2f1e..2ae470e 100644
--- a/src/exception.rs
+++ b/src/exception.rs
@@ -16,6 +16,7 @@
 impl std::error::Error for Exception {}
 
 impl Exception {
+    #[allow(missing_docs)]
     pub fn what(&self) -> &str {
         &self.what
     }
diff --git a/src/extern_type.rs b/src/extern_type.rs
index 35057ac..8c9c286 100644
--- a/src/extern_type.rs
+++ b/src/extern_type.rs
@@ -167,6 +167,7 @@
     /// indirection.
     pub enum Trivial {}
 
+    #[allow(missing_docs)]
     pub trait Kind: private::Sealed {}
     impl Kind for Opaque {}
     impl Kind for Trivial {}
diff --git a/src/function.rs b/src/function.rs
index 647be6a..f0a2010 100644
--- a/src/function.rs
+++ b/src/function.rs
@@ -1,3 +1,5 @@
+#![allow(missing_docs)]
+
 use core::ffi::c_void;
 
 #[repr(C)]
diff --git a/src/lib.rs b/src/lib.rs
index ecc26cd..990f4d1 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -365,7 +365,7 @@
 
 #![no_std]
 #![doc(html_root_url = "https://docs.rs/cxx/1.0.45")]
-#![deny(improper_ctypes, improper_ctypes_definitions)]
+#![deny(improper_ctypes, improper_ctypes_definitions, missing_docs)]
 #![allow(non_camel_case_types)]
 #![allow(
     clippy::cognitive_complexity,
diff --git a/src/opaque.rs b/src/opaque.rs
index 3c8f536..13c46e0 100644
--- a/src/opaque.rs
+++ b/src/opaque.rs
@@ -1,3 +1,5 @@
+#![allow(missing_docs)]
+
 use core::marker::{PhantomData, PhantomPinned};
 use core::mem;
 
diff --git a/src/result.rs b/src/result.rs
index f41639a..4ebeda6 100644
--- a/src/result.rs
+++ b/src/result.rs
@@ -1,3 +1,5 @@
+#![allow(missing_docs)]
+
 use crate::exception::Exception;
 use alloc::boxed::Box;
 use alloc::string::{String, ToString};
diff --git a/src/rust_slice.rs b/src/rust_slice.rs
index b7b82e4..65fa87d 100644
--- a/src/rust_slice.rs
+++ b/src/rust_slice.rs
@@ -1,3 +1,5 @@
+#![allow(missing_docs)]
+
 use core::mem::{self, MaybeUninit};
 use core::ptr::{self, NonNull};
 use core::slice;
diff --git a/src/rust_str.rs b/src/rust_str.rs
index 2f9c95b..65ef6d9 100644
--- a/src/rust_str.rs
+++ b/src/rust_str.rs
@@ -1,3 +1,5 @@
+#![allow(missing_docs)]
+
 use core::mem::{self, MaybeUninit};
 use core::ptr::NonNull;
 use core::str;
diff --git a/src/rust_string.rs b/src/rust_string.rs
index 5133694..051e35c 100644
--- a/src/rust_string.rs
+++ b/src/rust_string.rs
@@ -1,3 +1,5 @@
+#![allow(missing_docs)]
+
 use alloc::string::String;
 use core::mem::{self, MaybeUninit};
 use core::ptr;
diff --git a/src/rust_type.rs b/src/rust_type.rs
index 7bcf440..eacb530 100644
--- a/src/rust_type.rs
+++ b/src/rust_type.rs
@@ -1,3 +1,5 @@
+#![allow(missing_docs)]
+
 pub unsafe trait RustType {}
 pub unsafe trait ImplBox {}
 pub unsafe trait ImplVec {}
diff --git a/src/rust_vec.rs b/src/rust_vec.rs
index 8443043..e66519f 100644
--- a/src/rust_vec.rs
+++ b/src/rust_vec.rs
@@ -1,3 +1,5 @@
+#![allow(missing_docs)]
+
 use crate::rust_string::RustString;
 use alloc::string::String;
 use alloc::vec::Vec;
diff --git a/src/unwind.rs b/src/unwind.rs
index 36f6ae3..4967a21 100644
--- a/src/unwind.rs
+++ b/src/unwind.rs
@@ -1,3 +1,5 @@
+#![allow(missing_docs)]
+
 use std::io::{self, Write};
 use std::panic::{self, AssertUnwindSafe};
 use std::process;
diff --git a/src/weak_ptr.rs b/src/weak_ptr.rs
index 8291d59..2072873 100644
--- a/src/weak_ptr.rs
+++ b/src/weak_ptr.rs
@@ -93,6 +93,7 @@
 
 // Methods are private; not intended to be implemented outside of cxxbridge
 // codebase.
+#[allow(missing_docs)]
 pub unsafe trait WeakPtrTarget {
     #[doc(hidden)]
     fn __typename(f: &mut fmt::Formatter) -> fmt::Result;