MCPcopy Create free account
hub / github.com/Lymia/enumset / from

Method from

enumset_derive/src/gen.rs:16–47  ·  view source on GitHub ↗
(info: &EnumSetInfo)

Source from the content-addressed store, hash-verified

14}
15impl Paths {
16 fn from(info: &EnumSetInfo) -> Paths {
17 let name = &info.name;
18 let enumset = match &info.crate_name {
19 Some(crate_name) => quote!(::#crate_name),
20 None => {
21 #[cfg(feature = "proc-macro-crate")]
22 {
23 use proc_macro_crate::FoundCrate;
24
25 let crate_name = proc_macro_crate::crate_name("enumset");
26 match crate_name {
27 Ok(FoundCrate::Name(name)) => {
28 let ident =
29 proc_macro2::Ident::new(&name, proc_macro2::Span::call_site());
30 quote!(::#ident)
31 }
32 _ => quote!(::enumset),
33 }
34 }
35
36 #[cfg(not(feature = "proc-macro-crate"))]
37 {
38 quote!(::enumset)
39 }
40 }
41 };
42 let typed_enumset = quote!(#enumset::EnumSet<#name>);
43 let core = quote!(#enumset::__internal::core_export);
44 let internal = quote!(#enumset::__internal);
45 let serde = quote!(#enumset::__internal::serde);
46 Paths { enumset, typed_enumset, core, internal, serde }
47 }
48}
49
50/// Generates the actual `EnumSetType` impl.

Callers

nothing calls this directly

Calls 1

newFunction · 0.85

Tested by

no test coverage detected