You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/ty.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -74,7 +74,7 @@ HIR is built, some basic type inference and type checking is done. During the ty
74
74
figure out what the `ty::Ty` of everything is and we also check if the type of something is
75
75
ambiguous. The `ty::Ty` is then used for type checking while making sure everything has the
76
76
expected type. The [`astconv` module][astconv] is where the code responsible for converting a
77
-
`rustc_hir::Ty` into a `ty::Ty` is located. This occurs during the type-checking phase,
77
+
`rustc_hir::Ty` into a `ty::Ty` is located, the main routine used is `ast_ty_to_ty`. This occurs during the type-checking phase,
78
78
but also in other parts of the compiler that want to ask questions like "what argument types does
79
79
this function expect?"
80
80
@@ -137,11 +137,11 @@ benefits of interning.
137
137
138
138
## Allocating and working with types
139
139
140
-
To allocate a new type, you can use the various `mk_` methods defined on the `tcx`. These have names
140
+
To allocate a new type, you can use the various `new_` methods defined on the [`rustc_middle::ty`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.Ty.html). These have names
141
141
that correspond mostly to the various kinds of types. For example:
142
142
143
143
```rust,ignore
144
-
let array_ty = tcx.mk_array(elem_ty, len * 2);
144
+
let array_ty = Ty::new_array_with_const_len(tcx, ty,count)
145
145
```
146
146
147
147
These methods all return a `Ty<'tcx>` – note that the lifetime you get back is the lifetime of the
0 commit comments