[WIP] Use weak linkage instead of compiler generated shims by bjorn3 · Pull Request #134522 · rust-lang/rust (original) (raw)
error[E0308]: mismatched types
--> src/tools/miri/src/shims/foreign_items.rs:54:69
|
54 | match this.emulate_foreign_item_inner(link_name, abi, args, &dest)? {
| -------------------------- ^^^^^ expected `&MPlaceTy<'_, Provenance>`, found `&&PlaceTy<'_, Provenance>`
| |
| arguments to this method are incorrect
|
= note: expected reference `&rustc_const_eval::interpret::MPlaceTy<'_, machine::Provenance>`
found reference `&&rustc_const_eval::interpret::PlaceTy<'tcx, machine::Provenance>`
---
|
130 | if symbol_name == link_name {
| ^^ no implementation for `&str == rustc_span::Symbol`
|
= help: the trait `std::cmp::PartialEq<rustc_span::Symbol>` is not implemented for `&str`
= help: the following other types implement trait `std::cmp::PartialEq<Rhs>`:
`&str` implements `std::cmp::PartialEq<ByteString>`
`&str` implements `std::cmp::PartialEq<Cow<'_, str>>`
`&str` implements `std::cmp::PartialEq<OsString>`
`&str` implements `std::cmp::PartialEq<bstr::bstr::BStr>`
`&str` implements `std::cmp::PartialEq<bstr::bstring::BString>`
`&str` implements `std::cmp::PartialEq<rustc_target::json::Json>`
`&str` implements `std::cmp::PartialEq<std::bstr::ByteStr>`
`&str` implements `std::cmp::PartialEq<std:🧵:String>`
and 13 others
error[E0433]: failed to resolve: use of undeclared type `Conv`
--> src/tools/miri/src/shims/foreign_items.rs:509:61
|
509 | let [size, align] = ecx.check_shim(abi, Conv::Rust, link_name, args)?;
| ^^^^ use of undeclared type `Conv`
error[E0433]: failed to resolve: use of undeclared type `Conv`
--> src/tools/miri/src/shims/foreign_items.rs:544:62
|
544 | let [size, align] = this.check_shim(abi, Conv::Rust, link_name, args)?;
| ^^^^ use of undeclared type `Conv`
error[E0433]: failed to resolve: use of undeclared type `Conv`
--> src/tools/miri/src/shims/foreign_items.rs:571:45
|
571 | ecx.check_shim(abi, Conv::Rust, link_name, args)?;
| ^^^^ use of undeclared type `Conv`
error[E0433]: failed to resolve: use of undeclared type `Conv`
--> src/tools/miri/src/shims/foreign_items.rs:606:46
|
606 | this.check_shim(abi, Conv::Rust, link_name, args)?;
| ^^^^ use of undeclared type `Conv`
error[E0277]: can't compare `&str` with `rustc_span::Symbol`
--> src/tools/miri/src/shims/foreign_items.rs:130:36
|
130 | if symbol_name == link_name {
| ^^ no implementation for `&str == rustc_span::Symbol`
|
= help: the trait `std::cmp::PartialEq<rustc_span::Symbol>` is not implemented for `&str`
= help: the following other types implement trait `std::cmp::PartialEq<Rhs>`:
`&str` implements `std::cmp::PartialEq<ByteString>`
`&str` implements `std::cmp::PartialEq<Cow<'_, str>>`
`&str` implements `std::cmp::PartialEq<OsString>`
`&str` implements `std::cmp::PartialEq<bstr::BStr>`
`&str` implements `std::cmp::PartialEq<bstr::BString>`
`&str` implements `std::cmp::PartialEq<bstr::bstr::BStr>`
`&str` implements `std::cmp::PartialEq<bstr::bstring::BString>`
`&str` implements `std::cmp::PartialEq<camino::Utf8Path>`
and 24 others
Some errors have detailed explanations: E0277, E0308, E0433.
For more information about an error, try `rustc --explain E0277`.
[RUSTC-TIMING] miri test:false 3.757