1 // aux-build:doc_unsafe_macros.rs
4 extern crate doc_unsafe_macros;
6 /// This is not sufficiently documented
7 pub unsafe fn destroy_the_planet() {
15 /// This function shouldn't be called unless the horsemen are ready
16 pub unsafe fn apocalypse(universe: &mut ()) {
20 /// This is a private function, so docs aren't necessary
21 unsafe fn you_dont_see_me() {
26 pub unsafe fn only_crate_wide_accessible() {
30 pub unsafe fn republished() {
35 pub use private_mod::republished;
37 pub trait SafeTraitUnsafeMethods {
38 unsafe fn woefully_underdocumented(self);
41 unsafe fn at_least_somewhat_documented(self);
44 pub unsafe trait UnsafeTrait {
49 pub unsafe trait DocumentedUnsafeTrait {
55 impl SafeTraitUnsafeMethods for Struct {
56 unsafe fn woefully_underdocumented(self) {
60 unsafe fn at_least_somewhat_documented(self) {
65 unsafe impl UnsafeTrait for Struct {
69 unsafe impl DocumentedUnsafeTrait for Struct {
74 pub unsafe fn more_undocumented_unsafe() -> Self {
79 pub unsafe fn somewhat_documented(&self) {
83 unsafe fn private(&self) {
88 macro_rules! very_unsafe {
90 pub unsafe fn whee() {
96 /// Please keep the seat belt fastened
97 pub unsafe fn drive() {
105 // we don't lint code from external macros
111 destroy_the_planet();
112 let mut universe = ();
113 apocalypse(&mut universe);
114 private_mod::only_crate_wide_accessible();
119 // do not lint if any parent has `#[doc(hidden)]` attribute
129 /// # Implementation safety
130 pub unsafe trait DocumentedUnsafeTraitWithImplementationHeader {