gba/src/lib.rs

38 lines
1.1 KiB
Rust
Raw Normal View History

2018-11-15 13:49:00 +11:00
#![cfg_attr(not(test), no_std)]
2018-11-18 11:14:42 +11:00
#![cfg_attr(not(test), feature(asm))]
#![warn(missing_docs)]
2018-12-17 09:17:30 +11:00
//#![allow(clippy::cast_lossless)]
2018-12-08 19:53:37 +11:00
#![deny(clippy::float_arithmetic)]
//! This crate helps you write GBA ROMs.
//!
//! # SAFETY POLICY
//!
//! Some parts of this crate are safe wrappers around unsafe operations. This is
//! good, and what you'd expect from a Rust crate.
//!
//! However, the safe wrappers all assume that you will _only_ attempt to
//! execute this crate on a GBA or in a GBA Emulator.
//!
//! **Do not** use this crate in programs that aren't running on the GBA. If you
//! do, it's a giant bag of Undefined Behavior.
2018-11-15 13:49:00 +11:00
//!
//! # TESTING POLICY
//!
//! It is the intent of the crate authors that as much of the crate as possible
//! be written so that you can use `cargo test` for at least some parts of your
//! code without everything exploding instantly. To that end, where possible we
//! attempt to use `cfg` flags to make things safe for `cargo test`. Hopefully
//! we got it all.
pub mod core_extras;
pub(crate) use crate::core_extras::*;
2018-12-17 09:17:30 +11:00
#[cfg(not(test))]
pub mod bios;
pub mod io_registers;
pub mod video_ram;
2018-11-15 19:23:04 +11:00
pub(crate) use crate::video_ram::*;