]> git.proxmox.com Git - rustc.git/blame - vendor/chalk-solve-0.55.0/src/display/identifiers.rs
Merge tag 'debian/1.52.1+dfsg1-1_exp2' into proxmox/buster
[rustc.git] / vendor / chalk-solve-0.55.0 / src / display / identifiers.rs
CommitLineData
3dfed10e
XL
1//! Writer logic for simple IDs
2//!
3//! `RenderAsRust` impls for identifiers which are either too small or too
4//! shared to belong anywhere else belong here.
5use std::fmt::{Formatter, Result};
6
7use chalk_ir::interner::Interner;
8use chalk_ir::*;
9
10use super::{render_trait::RenderAsRust, state::InternalWriterState};
11
12impl<I: Interner> RenderAsRust<I> for AdtId<I> {
13 fn fmt(&self, s: &InternalWriterState<'_, I>, f: &'_ mut Formatter<'_>) -> Result {
14 // TODO: use debug methods?
15 write!(
16 f,
17 "{}",
18 s.alias_for_adt_id_name(self.0, s.db().adt_name(*self))
19 )
20 }
21}
22
23impl<I: Interner> RenderAsRust<I> for TraitId<I> {
24 fn fmt(&self, s: &InternalWriterState<'_, I>, f: &'_ mut Formatter<'_>) -> Result {
25 // TODO: use debug methods?
26 write!(
27 f,
28 "{}",
29 s.alias_for_id_name(self.0, s.db().trait_name(*self))
30 )
31 }
32}
33
34impl<I: Interner> RenderAsRust<I> for AssocTypeId<I> {
35 fn fmt(&self, s: &InternalWriterState<'_, I>, f: &'_ mut Formatter<'_>) -> Result {
36 // TODO: use debug methods?
37 write!(
38 f,
39 "{}",
40 s.alias_for_id_name(self.0, s.db().assoc_type_name(*self))
41 )
42 }
43}
44
45impl<I: Interner> RenderAsRust<I> for OpaqueTyId<I> {
46 fn fmt(&self, s: &InternalWriterState<'_, I>, f: &'_ mut Formatter<'_>) -> Result {
47 // TODO: use debug methods?
48 write!(
49 f,
50 "{}",
51 s.alias_for_id_name(self.0, s.db().opaque_type_name(*self))
52 )
53 }
54}