diff --git a/Cargo.toml b/Cargo.toml index 4068c77..09125be 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,7 @@ build = "core_generator/build.rs" keywords = ["avr", "arduino", "uno"] [dependencies] +avr-std-stub = "1.0" target-cpu-macro = "0.1" [build-dependencies] diff --git a/src/lib.rs b/src/lib.rs index b205ecf..81759f6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,6 +9,8 @@ #![no_std] +extern crate avr_std_stub; + pub use self::register::{Register, RegisterBits, RegisterValue}; pub use self::pin::{DataDirection, Pin}; @@ -24,6 +26,4 @@ pub mod config; mod register; mod pin; -#[doc(hidden)] -pub mod std_stub; diff --git a/src/std_stub.rs b/src/std_stub.rs deleted file mode 100644 index 53cd096..0000000 --- a/src/std_stub.rs +++ /dev/null @@ -1,15 +0,0 @@ -//! Stub methods that `libstd` normally defines. - -// These do not need to be in a module, but we group them here for clarity. -pub mod std { - #[lang = "eh_personality"] - #[no_mangle] - pub unsafe extern "C" fn rust_eh_personality(_state: (), _exception_object: *mut (), _context: *mut ()) -> () { - } - - #[panic_handler] - fn panic(_info: &::core::panic::PanicInfo) -> ! { - loop {} - } -} -