lib.rs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #![doc = include_str!("../README.md")]
  2. #![feature(naked_functions)]
  3. #![feature(non_exhaustive_omitted_patterns_lint)]
  4. // lang_items is an internal feature. `internal_features` lint is added recently
  5. // so also allow unknown lints to prevent warning in older nightly versions.
  6. #![cfg_attr(
  7. any(
  8. feature = "personality",
  9. feature = "personality-dummy",
  10. feature = "panicking",
  11. feature = "panic-handler-dummy"
  12. ),
  13. allow(internal_features)
  14. )]
  15. #![cfg_attr(
  16. any(feature = "personality", feature = "personality-dummy"),
  17. feature(lang_items)
  18. )]
  19. #![cfg_attr(
  20. any(feature = "panicking", feature = "panic-handler-dummy"),
  21. feature(core_intrinsics)
  22. )]
  23. #![cfg_attr(feature = "panic-handler", feature(thread_local))]
  24. #![warn(rust_2018_idioms)]
  25. #![warn(unsafe_op_in_unsafe_fn)]
  26. #![no_std]
  27. #[cfg(feature = "alloc")]
  28. extern crate alloc;
  29. #[cfg(feature = "unwinder")]
  30. mod unwinder;
  31. #[cfg(all(feature = "unwinder", feature = "fde-custom"))]
  32. pub use unwinder::custom_eh_frame_finder;
  33. pub mod abi;
  34. mod arch;
  35. mod util;
  36. #[cfg(feature = "print")]
  37. pub mod print;
  38. #[cfg(feature = "personality")]
  39. mod personality;
  40. #[cfg(all(not(feature = "personality"), feature = "personality-dummy"))]
  41. mod personality_dummy;
  42. #[cfg(feature = "panic")]
  43. pub mod panic;
  44. #[cfg(feature = "panicking")]
  45. pub mod panicking;
  46. #[cfg(feature = "panic-handler")]
  47. mod panic_handler;
  48. #[cfg(all(not(feature = "panic-handler"), feature = "panic-handler-dummy"))]
  49. mod panic_handler_dummy;
  50. #[cfg(feature = "system-alloc")]
  51. mod system_alloc;