diff options
| author | Michael Hewson <michael@michaelhewson.ca> | 2018-09-20 03:16:10 -0400 |
|---|---|---|
| committer | Michael Hewson <michael@michaelhewson.ca> | 2018-11-01 18:15:20 -0400 |
| commit | 9f59da28648c57d7c4fcac371f9f86adddeb20a3 (patch) | |
| tree | f5e99d63d7c3499f09b01054df0a0284bd69c25c /src/rustllvm/RustWrapper.cpp | |
| parent | d5c2c4a4339b2a6c64d16282d85bfd27bf01d361 (diff) | |
| download | rust-9f59da28648c57d7c4fcac371f9f86adddeb20a3.tar.gz rust-9f59da28648c57d7c4fcac371f9f86adddeb20a3.zip | |
Implement object-safety for arbitrary_self_types: part 2
For now, all of the receivers that we care about are just a newtyped pointer — i.e. `Box<Self>`, `Rc<Self>`, `Pin<Box<Self>>`, `Pin<&mut Self>`. This is much simpler to implement in codeine than the more general case, because the ABI is the same as a pointer. So we add some checks in typeck/coherence/builtin.rs to make sure that implementors of CoerceSized are just newtyped pointers. In this commit, we also implement the codegen bits.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
