Auto merge of #147453 - matthiaskrgr:rollup-z3db8zi, r=matthiaskrgr
Rollup of 8 pull requests Successful merges: - rust-lang/rust#146865 (kcfi: only reify trait methods when dyn-compatible) - rust-lang/rust#147205 (Add a new `wasm32-wasip3` target to Rust) - rust-lang/rust#147322 (cg_llvm: Consistently import `llvm::Type` and `llvm::Value`) - rust-lang/rust#147398 (Fix; correct placement of type inference error for method calls) - rust-lang/rust#147410 (Update `S-waiting-on-team` refs to new `S-waiting-on-{team}` labels) - rust-lang/rust#147422 (collect-license-metadata: Print a diff of the expected output) - rust-lang/rust#147431 (compiletest: Read the whole test file before parsing directives) - rust-lang/rust#147433 (Fix doc comment) Failed merges: - rust-lang/rust#147390 (Use globals instead of metadata for std::autodiff) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
@@ -839,7 +839,7 @@ pub enum PatKind<'tcx> {
|
||||
/// exhaustiveness to cover exactly its own value, similar to `&str`, but these values are
|
||||
/// much simpler.
|
||||
/// * raw pointers derived from integers, other raw pointers will have already resulted in an
|
||||
// error.
|
||||
/// error.
|
||||
/// * `String`, if `string_deref_patterns` is enabled.
|
||||
Constant {
|
||||
value: ty::Value<'tcx>,
|
||||
|
||||
@@ -618,11 +618,11 @@ impl<'tcx> Instance<'tcx> {
|
||||
// be directly reified because it's closure-like. The reify can handle the
|
||||
// unresolved instance.
|
||||
resolved = Instance { def: InstanceKind::ReifyShim(def_id, reason), args }
|
||||
// Reify `Trait::method` implementations
|
||||
// FIXME(maurer) only reify it if it is a vtable-safe function
|
||||
// Reify `Trait::method` implementations if the trait is dyn-compatible.
|
||||
} else if let Some(assoc) = tcx.opt_associated_item(def_id)
|
||||
&& let AssocContainer::Trait | AssocContainer::TraitImpl(Ok(_)) =
|
||||
assoc.container
|
||||
&& tcx.is_dyn_compatible(assoc.container_id(tcx))
|
||||
{
|
||||
// If this function could also go in a vtable, we need to `ReifyShim` it with
|
||||
// KCFI because it can only attach one type per function.
|
||||
|
||||
Reference in New Issue
Block a user