Ralf Jung

Results 2274 comments of Ralf Jung

This is likely related to cargo capturing JSON from the compiler.

Miri runs an arbitrary program, and that program sends information without a trailing `\n`. Specifically, it is running the libtest harness (without concurrency), which uses that to show the name...

FWIW Miri these days uses `target.runner` to control what happens when the executable is run, so we no longer have this problem.

Oh, turns out that for TARGET_RUNNER, one actually *can* pass extra arguments to the binary, which we could use for disambiguation. This is [causing its own problems](https://github.com/rust-lang/cargo/issues/10892), and AFAIK is...

Using `--config` for the runner, this issue could be resolved by making RUSTC_WRAPPER *always* call rustc via `$WRAPPER rustc`, instead of replacing `rustc` with the `RUSTC` env var (Cc https://github.com/rust-lang/cargo/issues/10886)....

Where is that temporary location? I just did Ctrl-C, now I am wondering.^^

I found things in `~/.rustup/tmp`.

> Instead the miri-engine runs const eval specific code for producing an allocation that "counts as heap" during const eval, but if it ends up in the final constant, it...

The problem with `push_str` affects statics as well: ```rust static B: Mutex = Mutex::new(String::from("foo")); let mut s = B.lock().unwrap(); s.push_str("bar"); // reallocates the "heap"-allocated buffer ```

> Looks like we painted ourselves into a corner. Note that contrary to what I thought, rejecting types with `Drop` does not help as my hypothetical example with a drop-free...