mirror of
https://github.com/google/comprehensive-rust.git
synced 2025-03-19 22:19:29 +02:00
Set the correct element type in vector (#2500)
This commit is contained in:
parent
d7ed1944c2
commit
699cceadef
@ -48,34 +48,34 @@ Memory layout after allocating `pets`:
|
||||
|
||||
```bob
|
||||
Stack Heap
|
||||
.- - - - - - - - - - - - - -. .- - - - - - - - - - - - - - - - - - - - - - -.
|
||||
: : : :
|
||||
: "pets: Vec<dyn Pet>" : : "data: Cat" +----+----+----+----+ :
|
||||
: +-----------+-------+ : : +-------+-------+ | F | i | d | o | :
|
||||
: | ptr | o---+---+--. : | lives | 9 | +----+----+----+----+ :
|
||||
: | len | 2 | : | : +-------+-------+ ^ :
|
||||
: | capacity | 2 | : | : ^ | :
|
||||
: +-----------+-------+ : | : | '-------. :
|
||||
: : | : | data:"Dog"| :
|
||||
: : | : | +-------+--|-------+ :
|
||||
`- - - - - - - - - - - - - -' | : +---|-+-----+ | name | o, 4, 4 | :
|
||||
`--+-->| o o | o o-|----->| age | 5 | :
|
||||
: +-|---+-|---+ +-------+----------+ :
|
||||
: | | :
|
||||
`- - -| - - |- - - - - - - - - - - - - - - - -'
|
||||
| |
|
||||
| | "Program text"
|
||||
.- - -| - - |- - - - - - - - - - - - - - - - -.
|
||||
: | | vtable :
|
||||
: | | +----------------------+ :
|
||||
: | `----->| "<Dog as Pet>::talk" | :
|
||||
: | +----------------------+ :
|
||||
: | vtable :
|
||||
: | +----------------------+ :
|
||||
: '----------->| "<Cat as Pet>::talk" | :
|
||||
: +----------------------+ :
|
||||
: :
|
||||
'- - - - - - - - - - - - - - - - - - - - - - -'
|
||||
.- - - - - - - - - - - - - - - -. .- - - - - - - - - - - - - - - - - - - - - - -.
|
||||
: : : :
|
||||
: "pets: Vec<Box<dyn Pet>>" : : "data: Cat" +----+----+----+----+ :
|
||||
: +-----------+-------+ : : +-------+-------+ | F | i | d | o | :
|
||||
: | ptr | o---+-------+--. : | lives | 9 | +----+----+----+----+ :
|
||||
: | len | 2 | : | : +-------+-------+ ^ :
|
||||
: | capacity | 2 | : | : ^ | :
|
||||
: +-----------+-------+ : | : | '-------. :
|
||||
: : | : | data:"Dog"| :
|
||||
: : | : | +-------+--|-------+ :
|
||||
`- - - - - - - - - - - - - - - -' | : +---|-+-----+ | name | o, 4, 4 | :
|
||||
`--+-->| o o | o o-|----->| age | 5 | :
|
||||
: +-|---+-|---+ +-------+----------+ :
|
||||
: | | :
|
||||
`- - -| - - |- - - - - - - - - - - - - - - - -'
|
||||
| |
|
||||
| | "Program text"
|
||||
.- - -| - - |- - - - - - - - - - - - - - - - -.
|
||||
: | | vtable :
|
||||
: | | +----------------------+ :
|
||||
: | `----->| "<Dog as Pet>::talk" | :
|
||||
: | +----------------------+ :
|
||||
: | vtable :
|
||||
: | +----------------------+ :
|
||||
: '----------->| "<Cat as Pet>::talk" | :
|
||||
: +----------------------+ :
|
||||
: :
|
||||
'- - - - - - - - - - - - - - - - - - - - - - -'
|
||||
```
|
||||
|
||||
<details>
|
||||
|
Loading…
x
Reference in New Issue
Block a user