Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/librustc/middle/traits/select.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1663,11 +1663,11 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
}

ty::ty_vec(element_ty, ref len) => {
// [T, ..n] and [T]
// [T; n] and [T]
match bound {
ty::BoundCopy => {
match *len {
// [T, ..n] is copy iff T is copy
// [T; n] is copy iff T is copy
Some(_) => ok_if(vec![element_ty]),

// [T] is unsized and hence affine
Expand Down
4 changes: 2 additions & 2 deletions src/librustc_typeck/check/coercion.rs
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,8 @@ impl<'f, 'tcx> Coerce<'f, 'tcx> {
}


// &[T, ..n] or &mut [T, ..n] -> &[T]
// or &mut [T, ..n] -> &mut [T]
// &[T; n] or &mut [T; n] -> &[T]
// or &mut [T; n] -> &mut [T]
// or &Concrete -> &Trait, etc.
fn coerce_unsized(&self,
source: Ty<'tcx>,
Expand Down
2 changes: 1 addition & 1 deletion src/librustc_typeck/check/method/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ into a more explicit UFCS form:
Here `ADJ` is some kind of adjustment, which is typically a series of
autoderefs and then possibly an autoref (e.g., `&**receiver`). However
we sometimes do other adjustments and coercions along the way, in
particular unsizing (e.g., converting from `[T, ..n]` to `[T]`).
particular unsizing (e.g., converting from `[T; n]` to `[T]`).

## The Two Phases

Expand Down
2 changes: 1 addition & 1 deletion src/librustc_typeck/check/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2085,7 +2085,7 @@ fn lookup_indexing<'a, 'tcx>(fcx: &FnCtxt<'a, 'tcx>,
return final_mt;
}

// After we have fully autoderef'd, if the resulting type is [T, ..n], then
// After we have fully autoderef'd, if the resulting type is [T; n], then
// do a final unsized coercion to yield [T].
if let ty::ty_vec(element_ty, Some(_)) = ty.sty {
let adjusted_ty = ty::mk_vec(fcx.tcx(), element_ty, None);
Expand Down