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