diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-03-28 14:22:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-28 14:22:24 +0000 |
commit | e8b9587d3a0615f497cfe9c66995c1f21e42a536 (patch) | |
tree | d68047eb3249dda74d6469b9e8ec4ec822ce802f /gcc/rust/backend/rust-compile-base.cc | |
parent | 729bbacbd175350fbff3959d7503ae954d22aeef (diff) | |
parent | afa451b311dec27476941e6f307d04450d28ab88 (diff) | |
download | gcc-e8b9587d3a0615f497cfe9c66995c1f21e42a536.zip gcc-e8b9587d3a0615f497cfe9c66995c1f21e42a536.tar.gz gcc-e8b9587d3a0615f497cfe9c66995c1f21e42a536.tar.bz2 |
Merge #1045
1045: Add initial support for unsized method resolution r=philberty a=philberty
In order to support slices, we end up with an operator overload call of:
```
impl<T, I> Index<I> for [T]
where
I: SliceIndex<[T]>,
{
type Output = I::Output;
fn index(&self, index: I) -> &I::Output {
index.index(self)
}
}
```
So this means the self, in this case, is an array[T,capacity] and the index parameter is of type Range<usize>. In order to actually call this method
which has a self parameter of [T] we need to be able to 'unsize' the array
into a slice.
Addresses #849
Co-authored-by: Philip Herron <philip.herron@embecosm.com>
Diffstat (limited to 'gcc/rust/backend/rust-compile-base.cc')
0 files changed, 0 insertions, 0 deletions