rustc_type_ir/
lang_items.rs

1/// Lang items used by the new trait solver. This can be mapped to whatever internal
2/// representation of `LangItem`s used in the underlying compiler implementation.
3pub enum SolverLangItem {
4    // tidy-alphabetical-start
5    AsyncFnKindUpvars,
6    AsyncFnOnceOutput,
7    CallOnceFuture,
8    CallRefFuture,
9    CoroutineReturn,
10    CoroutineYield,
11    DynMetadata,
12    FutureOutput,
13    Metadata,
14    // tidy-alphabetical-end
15}
16
17pub enum SolverAdtLangItem {
18    // tidy-alphabetical-start
19    Option,
20    Poll,
21    // tidy-alphabetical-end
22}
23
24pub enum SolverTraitLangItem {
25    // tidy-alphabetical-start
26    AsyncFn,
27    AsyncFnKindHelper,
28    AsyncFnMut,
29    AsyncFnOnce,
30    AsyncFnOnceOutput,
31    AsyncIterator,
32    BikeshedGuaranteedNoDrop,
33    Clone,
34    Copy,
35    Coroutine,
36    Destruct,
37    DiscriminantKind,
38    Drop,
39    Fn,
40    FnMut,
41    FnOnce,
42    FnPtrTrait,
43    FusedIterator,
44    Future,
45    Iterator,
46    MetaSized,
47    PointeeSized,
48    PointeeTrait,
49    Sized,
50    TransmuteTrait,
51    Tuple,
52    Unpin,
53    Unsize,
54    // tidy-alphabetical-end
55}