about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorMichael Hewson <michael@michaelhewson.ca>2018-09-20 03:16:10 -0400
committerMichael Hewson <michael@michaelhewson.ca>2018-11-01 18:15:20 -0400
commit9f59da28648c57d7c4fcac371f9f86adddeb20a3 (patch)
treef5e99d63d7c3499f09b01054df0a0284bd69c25c /src/rustllvm/RustWrapper.cpp
parentd5c2c4a4339b2a6c64d16282d85bfd27bf01d361 (diff)
downloadrust-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