| //! This module reexports various crates and modules from unstable rustc APIs. |
| //! Add anything you need here and it will get slowly transferred to a stable API. |
| //! Only use rustc_smir in your dependencies and use the reexports here instead of |
| //! directly referring to the unstable crates. |
| |
| macro_rules! crates { |
| ($($rustc_name:ident -> $name:ident,)*) => { |
| $( |
| #[cfg(not(feature = "default"))] |
| pub extern crate $rustc_name as $name; |
| #[cfg(feature = "default")] |
| pub use $rustc_name as $name; |
| )* |
| } |
| } |
| |
| crates! { |
| rustc_borrowck -> borrowck, |
| rustc_driver -> driver, |
| rustc_hir -> hir, |
| rustc_interface -> interface, |
| rustc_middle -> middle, |
| rustc_mir_dataflow -> dataflow, |
| rustc_mir_transform -> transform, |
| rustc_serialize -> serialize, |
| rustc_trait_selection -> trait_selection, |
| } |