Skip to main content

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 SolverProjectionLangItem {
4    // tidy-alphabetical-start
5    AsyncFnKindUpvars,
6    AsyncFnOnceOutput,
7    CallOnceFuture,
8    CallRefFuture,
9    CoroutineReturn,
10    CoroutineYield,
11    FieldBase,
12    FieldType,
13    FutureOutput,
14    Metadata,
15    // tidy-alphabetical-end
16}
17
18pub enum SolverAdtLangItem {
19    // tidy-alphabetical-start
20    DynMetadata,
21    Option,
22    Poll,
23    // tidy-alphabetical-end
24}
25
26pub enum SolverTraitLangItem {
27    // tidy-alphabetical-start
28    AsyncFn,
29    AsyncFnKindHelper,
30    AsyncFnMut,
31    AsyncFnOnce,
32    AsyncIterator,
33    BikeshedGuaranteedNoDrop,
34    Clone,
35    Copy,
36    Coroutine,
37    Destruct,
38    DiscriminantKind,
39    Drop,
40    Field,
41    Fn,
42    FnMut,
43    FnOnce,
44    FnPtrTrait,
45    FusedIterator,
46    Future,
47    Iterator,
48    MetaSized,
49    PointeeSized,
50    PointeeTrait,
51    Sized,
52    TransmuteTrait,
53    TrivialClone,
54    Tuple,
55    Unpin,
56    Unsize,
57    // tidy-alphabetical-end
58}