about summary refs log tree commit diff
path: root/src/tools/miri
AgeCommit message (Collapse)AuthorLines
2025-01-24bless miri testWaffle Lapkin-2/+2
I'm not sure why the span improved but that's nice!
2025-01-24fmtThe Miri Cronjob Bot-1/+1
2025-01-24Merge from rustcThe Miri Cronjob Bot-19/+6
2025-01-24Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-01-24Reword "crate not found" resolve messageEsteban Küber-3/+5
``` error[E0432]: unresolved import `some_novel_crate` --> file.rs:1:5 | 1 | use some_novel_crate::Type; | ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `some_novel_crate` ``` On resolve errors where there might be a missing crate, mention `cargo add foo`: ``` error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nope` --> $DIR/conflicting-impl-with-err.rs:4:11 | LL | impl From<nope::Thing> for Error { | ^^^^ use of unresolved module or unlinked crate `nope` | = help: if you wanted to use a crate named `nope`, use `cargo add nope` to add it to your `Cargo.toml` ```
2025-01-23Remove RunCompilerbjorn3-1/+1
It has become nothing other than a wrapper around run_compiler.
2025-01-23Remove the need to manually call set_using_internal_featuresbjorn3-19/+6
2025-01-22fix no-std-smoke testRalf Jung-0/+1
2025-01-23fmtThe Miri Cronjob Bot-4/+2
2025-01-23Merge from rustcThe Miri Cronjob Bot-161/+113
2025-01-23Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-01-21Auto merge of #134299 - RalfJung:remove-start, r=compiler-errorsbors-76/+53
remove support for the (unstable) #[start] attribute As explained by `@Noratrieb:` `#[start]` should be deleted. It's nothing but an accidentally leaked implementation detail that's a not very useful mix between "portable" entrypoint logic and bad abstraction. I think the way the stable user-facing entrypoint should work (and works today on stable) is pretty simple: - `std`-using cross-platform programs should use `fn main()`. the compiler, together with `std`, will then ensure that code ends up at `main` (by having a platform-specific entrypoint that gets directed through `lang_start` in `std` to `main` - but that's just an implementation detail) - `no_std` platform-specific programs should use `#![no_main]` and define their own platform-specific entrypoint symbol with `#[no_mangle]`, like `main`, `_start`, `WinMain` or `my_embedded_platform_wants_to_start_here`. most of them only support a single platform anyways, and need cfg for the different platform's ways of passing arguments or other things *anyways* `#[start]` is in a super weird position of being neither of those two. It tries to pretend that it's cross-platform, but its signature is a total lie. Those arguments are just stubbed out to zero on ~~Windows~~ wasm, for example. It also only handles the platform-specific entrypoints for a few platforms that are supported by `std`, like Windows or Unix-likes. `my_embedded_platform_wants_to_start_here` can't use it, and neither could a libc-less Linux program. So we have an attribute that only works in some cases anyways, that has a signature that's a total lie (and a signature that, as I might want to add, has changed recently, and that I definitely would not be comfortable giving *any* stability guarantees on), and where there's a pretty easy way to get things working without it in the first place. Note that this feature has **not** been RFCed in the first place. *This comment was posted [in May](https://github.com/rust-lang/rust/issues/29633#issuecomment-2088596042) and so far nobody spoke up in that issue with a usecase that would require keeping the attribute.* Closes https://github.com/rust-lang/rust/issues/29633 try-job: x86_64-gnu-nopt try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: test-various
2025-01-21remove support for the #[start] attributeRalf Jung-76/+53
2025-01-20Rollup merge of #135333 - vayunbiyani:test-environment, r=RalfJungMatthias Krüger-85/+60
Partial progress on #132735: Replace extern "rust-intrinsic" with #[rustc_intrinsic] across the codebase Part of #132735: Replace `extern "rust-intrinsic"` with `#[rustc_intrinsic]` macro - Updated all instances of `extern "rust-intrinsic"` to use the `#[rustc_intrinsic]` macro. - Skipped `.md` files and test files to avoid unnecessary changes.
2025-01-20Updated several files to use rust intrinsic macros instead of the legacy ↵vayunbiyani-85/+60
extern "rust-intrinsic" blocks
2025-01-19fix location of pipe moduleRalf Jung-2/+3
2025-01-19Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-01-18Update tests for std::simd subtree syncCaleb Zulawski-21/+0
2025-01-15Merge from rustcThe Miri Cronjob Bot-6/+6
2025-01-15Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-01-14Merge pull request #4138 from geetanshjuneja/derefRalf Jung-1/+1
Use deref_poiner_as instead of deref_pointer
2025-01-13Included Abdroid to an epoll test targetsYoh Deadfall-1/+1
2025-01-13Illumos: Added epoll and eventfdYoh Deadfall-8/+41
2025-01-13Added deref_poiner_as in _NSGetExecutablePathgeetanshjuneja-1/+1
2025-01-12Added Android to epoll and eventfd test targetsYoh Deadfall-3/+3
2025-01-12Merge pull request #4135 from RalfJung/unsup-targetsRalf Jung-166/+185
Add FreeBSD maintainer; test all of Solarish
2025-01-12turns out Solarish targets support our entire test suiteRalf Jung-10/+16
2025-01-12remove a rustfmt::skipRalf Jung-155/+168
2025-01-12record YohDeadfall as FreeBSD maintainerRalf Jung-1/+1
2025-01-11Merge pull request #4134 from RalfJung/miri-script-raOli Scherer-9/+15
adjust the way we build miri-script in RA, to fix proc-macros
2025-01-11avoid issues due to MIRI_TEST_TARGET being set from the outsideRalf Jung-0/+4
2025-01-11adjust the way we build miri-script in RA, to fix proc-macrosRalf Jung-9/+11
2025-01-11Supported fioclex for ioctl on macosgeetanshjuneja-0/+70
2025-01-11avoid nesting the user-defined main so deeply on the stackRalf Jung-33/+9
2025-01-11use a single large catch_unwind in lang_startRalf Jung-10/+34
2025-01-10Switched FreeBSD to pthread_setname_npYoh Deadfall-41/+44
2025-01-10fix clippy warningRalf Jung-1/+1
2025-01-10disable threading tests on freebsd for nowRalf Jung-2/+2
2025-01-10Preparing for merge from rustcRalf Jung-1/+1
2025-01-08Preparing for merge from rustcRalf Jung-1/+1
2025-01-05Merge from rustcThe Miri Cronjob Bot-1/+1
2025-01-05Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-01-04Auto merge of #135031 - RalfJung:intrinsics-without-body, r=oli-obkbors-1/+1
rustc_intrinsic: support functions without body We synthesize a HIR body `loop {}` but such bodyless intrinsics. Most of the diff is due to turning `ItemKind::Fn` into a brace (named-field) enum variant, because it carries a `bool`-typed field now. This is to remember whether the function has a body. MIR building panics to avoid ever translating the fake `loop {}` body, and the intrinsic logic uses the lack of a body to implicitly mark that intrinsic as must-be-overridden. I first tried actually having no body rather than generating the fake body, but there's a *lot* of code that assumes that all function items have HIR and MIR, so this didn't work very well. Then I noticed that even `rustc_intrinsic_must_be_overridden` intrinsics have MIR generated (they are filled with an `Unreachable` terminator) so I guess I am not the first to discover this. ;) r? `@oli-obk`
2025-01-04Merge pull request #4121 from RalfJung/josh-proxyRalf Jung-2/+2
bump josh-proxy
2025-01-04bump josh-proxyRalf Jung-2/+2
2025-01-04rustc_intrinsic: support functions without body; they are implicitly marked ↵Ralf Jung-1/+1
as must-be-overridden
2025-01-04turn hir::ItemKind::Fn into a named-field variantRalf Jung-1/+1
2025-01-03Merge from rustcThe Miri Cronjob Bot-0/+58
2025-01-03Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2025-01-02Merge pull request #4106 from shamb0/generalize-callback-miri-concurrencyRalf Jung-131/+171
Concurrency: Generalize UnblockCallback to MachineCallback