]> git.lizzy.rs Git - rust.git/blob - src/librustc_session/utils.rs
Rollup merge of #68247 - GuillaumeGomez:clean-up-err-codes, r=Dylan-DPC
[rust.git] / src / librustc_session / utils.rs
1 use crate::session::Session;
2 use rustc_data_structures::profiling::VerboseTimingGuard;
3
4 impl Session {
5     pub fn timer<'a>(&'a self, what: &'static str) -> VerboseTimingGuard<'a> {
6         self.prof.verbose_generic_activity(what)
7     }
8     pub fn time<R>(&self, what: &'static str, f: impl FnOnce() -> R) -> R {
9         self.prof.verbose_generic_activity(what).run(f)
10     }
11 }
12
13 #[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, RustcEncodable, RustcDecodable)]
14 pub enum NativeLibraryKind {
15     /// native static library (.a archive)
16     NativeStatic,
17     /// native static library, which doesn't get bundled into .rlibs
18     NativeStaticNobundle,
19     /// macOS-specific
20     NativeFramework,
21     /// Windows dynamic library without import library.
22     NativeRawDylib,
23     /// default way to specify a dynamic library
24     NativeUnknown,
25 }
26
27 rustc_data_structures::impl_stable_hash_via_hash!(NativeLibraryKind);