]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agohotfix for incorrect only- logic
Ralf Jung [Mon, 6 Jun 2022 23:11:59 +0000 (19:11 -0400)]
hotfix for incorrect only- logic

2 years agoAuto merge of #1963 - cbeuw:weak-memory, r=RalfJung
bors [Mon, 6 Jun 2022 19:30:38 +0000 (19:30 +0000)]
Auto merge of #1963 - cbeuw:weak-memory, r=RalfJung

Weak memory emulation using store buffers

This implements the second half of the [Lidbury & Donaldson paper](https://www.doc.ic.ac.uk/~afd/homepages/papers/pdfs/2017/POPL.pdf): weak memory emulation using store buffers. A store buffer is created over a memory range on atomic access. Stores will push store elements into the buffer and loads will search through the buffer in reverse modification order, determine which store elements are valid for the current load, and pick one randomly.

This implementation will never generate weak memory behaviours forbidden by the C++11 model, but it is incapable of producing all possible weak behaviours allowed by the model. There are certain weak behaviours observable on real hardware but not while using this.

Note that this implementation does not take into account of C++20's memory model revision to SC accesses and fences introduced by [P0668](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0668r5.html). This implementation is not fully correct under the revised C++20 model and may generate behaviours C++20 disallows.

Rust follows the C++20 memory model (except for the Consume ordering and some operations not performable through C++'s std::atomic<T> API). It is therefore possible for this implementation to generate behaviours never observable when the same program is compiled and run natively. Unfortunately, no literature exists at the time of writing which proposes an implementable and C++20-compatible relaxed memory model that supports all atomic operation existing in Rust. The closest one is [A Promising Semantics for Relaxed-Memory Concurrency](https://www.cs.tau.ac.il/~orilahav/papers/popl17.pdf) by Jeehoon Kang et al. However, this model lacks SC accesses and is therefore unusable by Miri (SC accesses are everywhere in library code).

Safe/sound Rust allows for more operations on atomic locations than the C++20 atomic API was intended to allow, such as non-atomically accessing a previously atomically accessed location, or accessing previously atomically accessed locations with a differently sized operation (such as accessing the top 16 bits of an `AtomicU32`). These scenarios are generally left undefined in formalisations of C++ memory model, even though they [became possible](https://lists.isocpp.org/std-discussion/2022/05/1662.php) in C++20 with `std::atomic_ref<T>`. In Rust, these operations can only be done through a `&mut AtomicFoo` reference or one derived from it, therefore these operations can only happen after all previous accesses on the same locations. This implementation is adapted to accommodate these.

----------
TODOs:

- [x] Add tests cases that actually demonstrate weak memory behaviour (even if they are scheduler dependent)
- [x] Change `{mutex, rwlock, cond, srwlock}_get_or_create_id` functions under `src/shims` to use atomic RMWs instead of separate read -> check if need to create a new one -> write steps
- [x] Make sure Crossbeam tests still pass (https://github.com/crossbeam-rs/crossbeam/pull/831)
- [x] Move as much weak-memory related code as possible into `weak_memory.rs`
- [x] Remove "weak memory effects are not emulated" warnings
- [x] Accommodate certain mixed size and mixed atomicity accesses Rust allows on top of the C++ model

2 years agoMake racy imperfectly overlapping atomic access unsupported instead of UB
Andy Wang [Sun, 5 Jun 2022 21:11:55 +0000 (22:11 +0100)]
Make racy imperfectly overlapping atomic access unsupported instead of UB

Co-authored-by: Ralf Jung <post@ralfj.de>
2 years agoAdd more backgrounds on lazy store buffers
Andy Wang [Sun, 5 Jun 2022 20:48:07 +0000 (21:48 +0100)]
Add more backgrounds on lazy store buffers

Co-authored-by: Ralf Jung <post@ralfj.de>
2 years agoRemove unused lifetimes
Andy Wang [Sun, 5 Jun 2022 19:47:01 +0000 (20:47 +0100)]
Remove unused lifetimes

2 years agoSimplify known C++20 inconsistency test
Andy Wang [Sun, 5 Jun 2022 09:37:40 +0000 (10:37 +0100)]
Simplify known C++20 inconsistency test

2 years agoMove tests to new directories
Andy Wang [Sat, 4 Jun 2022 17:18:46 +0000 (18:18 +0100)]
Move tests to new directories

2 years agoSpecify only perfectly overlapping accesses can race
Andy Wang [Sun, 29 May 2022 21:53:57 +0000 (22:53 +0100)]
Specify only perfectly overlapping accesses can race

2 years agoGive flag temp disabling race detector a better name
Andy Wang [Sun, 29 May 2022 20:10:36 +0000 (21:10 +0100)]
Give flag temp disabling race detector a better name

2 years agoRefer to GitHub issue on overwritten init value
Andy Wang [Sun, 29 May 2022 18:48:36 +0000 (19:48 +0100)]
Refer to GitHub issue on overwritten init value

2 years agoForbade all racing mixed size atomic accesses
Andy Wang [Sun, 29 May 2022 14:05:07 +0000 (15:05 +0100)]
Forbade all racing mixed size atomic accesses

2 years agoMove logic out of machine.rs
Andy Wang [Sun, 29 May 2022 11:03:45 +0000 (12:03 +0100)]
Move logic out of machine.rs

2 years agoWording improvements
Andy Wang [Sun, 29 May 2022 08:57:24 +0000 (09:57 +0100)]
Wording improvements

Co-authored-by: Ralf Jung <post@ralfj.de>
2 years agoUpdate experimental threading warning
Andy Wang [Wed, 25 May 2022 20:54:30 +0000 (21:54 +0100)]
Update experimental threading warning

2 years agoSplit extra_cpp tests into sound and unsafe
Andy Wang [Wed, 25 May 2022 20:10:00 +0000 (21:10 +0100)]
Split extra_cpp tests into sound and unsafe

2 years agoAllow non-racy mixed size accesses
Andy Wang [Wed, 25 May 2022 19:46:08 +0000 (20:46 +0100)]
Allow non-racy mixed size accesses

2 years agoDestroy store buffers on non-racy non-atomic accesses
Andy Wang [Tue, 24 May 2022 21:03:04 +0000 (22:03 +0100)]
Destroy store buffers on non-racy non-atomic accesses

2 years agoDifferentiate between not multithreading and temp disabling race detection
Andy Wang [Tue, 24 May 2022 20:07:22 +0000 (21:07 +0100)]
Differentiate between not multithreading and temp disabling race detection

2 years agoAdd rust-only operation tests
Andy Wang [Mon, 23 May 2022 21:05:16 +0000 (22:05 +0100)]
Add rust-only operation tests

2 years agoMove transmute into a separate function
Andy Wang [Sun, 22 May 2022 21:18:22 +0000 (22:18 +0100)]
Move transmute into a separate function

2 years agoUpdate src/concurrency/weak_memory.rs
Andy Wang [Sun, 22 May 2022 21:07:50 +0000 (22:07 +0100)]
Update src/concurrency/weak_memory.rs

Co-authored-by: Ralf Jung <post@ralfj.de>
2 years agoSpelling, punctuation and grammar
Andy Wang [Thu, 19 May 2022 19:14:16 +0000 (20:14 +0100)]
Spelling, punctuation and grammar

Co-authored-by: Ralf Jung <post@ralfj.de>
2 years agoReplace yield_now() with spin loop hint
Andy Wang [Tue, 17 May 2022 19:04:18 +0000 (20:04 +0100)]
Replace yield_now() with spin loop hint

2 years agoAmend experimental thread support warnings
Andy Wang [Mon, 16 May 2022 23:14:30 +0000 (00:14 +0100)]
Amend experimental thread support warnings

2 years agoPut the initialisation value into the store buffer
Andy Wang [Mon, 16 May 2022 22:05:36 +0000 (23:05 +0100)]
Put the initialisation value into the store buffer

2 years agoRename variables in AllocationMap
Andy Wang [Mon, 16 May 2022 21:26:38 +0000 (22:26 +0100)]
Rename variables in AllocationMap

2 years agoThrow UB on imperfectly overlapping access
Andy Wang [Mon, 16 May 2022 19:00:11 +0000 (20:00 +0100)]
Throw UB on imperfectly overlapping access

2 years agoRemove incorrect comment
Andy Wang [Sun, 15 May 2022 21:29:40 +0000 (22:29 +0100)]
Remove incorrect comment

2 years agoMove buffered functions into their own ext trait
Andy Wang [Sat, 14 May 2022 00:45:21 +0000 (01:45 +0100)]
Move buffered functions into their own ext trait

2 years agoMove data_race and weak_memory into a submodule
Andy Wang [Fri, 13 May 2022 22:23:58 +0000 (23:23 +0100)]
Move data_race and weak_memory into a submodule

2 years agoReduce the number of runs in consistency tests
Andy Wang [Thu, 12 May 2022 23:15:57 +0000 (00:15 +0100)]
Reduce the number of runs in consistency tests

2 years agoRefactor store buffer search conditions
Andy Wang [Thu, 12 May 2022 17:57:03 +0000 (18:57 +0100)]
Refactor store buffer search conditions

2 years agoAdd tests showing weak memory behaviours
Andy Wang [Thu, 12 May 2022 21:04:37 +0000 (22:04 +0100)]
Add tests showing weak memory behaviours

2 years agoImprove privacy and comments
Andy Wang [Wed, 11 May 2022 22:52:38 +0000 (23:52 +0100)]
Improve privacy and comments

2 years agoUpdate README
Andy Wang [Tue, 10 May 2022 22:34:38 +0000 (23:34 +0100)]
Update README

2 years agoAdd more top-level comments
Andy Wang [Tue, 10 May 2022 22:25:18 +0000 (23:25 +0100)]
Add more top-level comments

2 years agoMove cpp20_rwc_syncs into compile-fail
Andy Wang [Sat, 7 May 2022 16:34:18 +0000 (17:34 +0100)]
Move cpp20_rwc_syncs into compile-fail

2 years agoDisable weak memory emulation on scheduler-dependent data race tests
Andy Wang [Sat, 7 May 2022 00:46:19 +0000 (01:46 +0100)]
Disable weak memory emulation on scheduler-dependent data race tests

2 years agoMove type definitions together and clarify fetch_store on empty buffer
Andy Wang [Sat, 7 May 2022 00:07:16 +0000 (01:07 +0100)]
Move type definitions together and clarify fetch_store on empty buffer

2 years agoAdd -Zmiri-disable-weak-memory-emulation to README
Andy Wang [Fri, 6 May 2022 23:54:54 +0000 (00:54 +0100)]
Add -Zmiri-disable-weak-memory-emulation to README

2 years agoAdd imperfectly overlapping test
Andy Wang [Fri, 6 May 2022 23:31:17 +0000 (00:31 +0100)]
Add imperfectly overlapping test

2 years agoUse a new AllocationMap to store store buffers in the same allocation
Andy Wang [Fri, 6 May 2022 22:46:29 +0000 (23:46 +0100)]
Use a new AllocationMap to store store buffers in the same allocation

2 years agoClearer boundries between alloc metadata with multiple buffers and an individual...
Andy Wang [Sun, 1 May 2022 11:36:00 +0000 (12:36 +0100)]
Clearer boundries between alloc metadata with multiple buffers and an individual store buffer

2 years agoComment out and provide context to C++20 test
Andy Wang [Sat, 16 Apr 2022 00:01:49 +0000 (01:01 +0100)]
Comment out and provide context to C++20 test

2 years agoset_at_index sets the default value (0) if index doesn't exist in the other vector
Andy Wang [Fri, 15 Apr 2022 20:44:22 +0000 (21:44 +0100)]
set_at_index sets the default value (0) if index doesn't exist in the other vector

2 years agoImplement weak memory emulation
Andy Wang [Mon, 27 Dec 2021 19:07:23 +0000 (19:07 +0000)]
Implement weak memory emulation

2 years agoAdd test cases
Andy Wang [Mon, 17 Jan 2022 17:40:17 +0000 (17:40 +0000)]
Add test cases

2 years agoAdd weak memory config option
Andy Wang [Sat, 25 Dec 2021 23:45:33 +0000 (23:45 +0000)]
Add weak memory config option

2 years agoAuto merge of #2183 - RalfJung:better-provenance-control, r=RalfJung
bors [Mon, 6 Jun 2022 16:57:34 +0000 (16:57 +0000)]
Auto merge of #2183 - RalfJung:better-provenance-control, r=RalfJung

adjust for better provenance control

This is the Miri side of https://github.com/rust-lang/rust/pull/97684.

2 years agomake output bitwidth-independent
Ralf Jung [Mon, 6 Jun 2022 16:33:48 +0000 (12:33 -0400)]
make output bitwidth-independent

2 years agoAuto merge of #2202 - InfRandomness:infrandomness/rustdoc-fixes, r=RalfJung
bors [Mon, 6 Jun 2022 16:32:05 +0000 (16:32 +0000)]
Auto merge of #2202 - InfRandomness:infrandomness/rustdoc-fixes, r=RalfJung

Fix rustdoc warnings

This fixes the rustdoc warnings presented by the tool

2 years agoFix rustdoc warnings
infrandomness [Mon, 6 Jun 2022 16:17:38 +0000 (18:17 +0200)]
Fix rustdoc warnings

2 years agorustup
Ralf Jung [Mon, 6 Jun 2022 16:10:40 +0000 (12:10 -0400)]
rustup

2 years agoport some tests away from flags we want to remove
Ralf Jung [Mon, 6 Jun 2022 15:44:36 +0000 (11:44 -0400)]
port some tests away from flags we want to remove

2 years agofix rustup-toolchain without arguments
Ralf Jung [Mon, 6 Jun 2022 15:44:27 +0000 (11:44 -0400)]
fix rustup-toolchain without arguments

2 years agoaddr no longer exposes :)
Ralf Jung [Fri, 3 Jun 2022 12:47:00 +0000 (08:47 -0400)]
addr no longer exposes :)

2 years agoadjust for better provenance control
Ralf Jung [Fri, 3 Jun 2022 12:46:22 +0000 (08:46 -0400)]
adjust for better provenance control

2 years agoAuto merge of #2201 - RalfJung:arg-parsing, r=RalfJung
bors [Mon, 6 Jun 2022 15:09:47 +0000 (15:09 +0000)]
Auto merge of #2201 - RalfJung:arg-parsing, r=RalfJung

argument parsing: make better use of strip_prefix

This gets rid of lots of `unwrap`. :)

2 years agoargument parsing: make better use of strip_prefix
Ralf Jung [Mon, 6 Jun 2022 15:07:25 +0000 (11:07 -0400)]
argument parsing: make better use of strip_prefix

2 years agoAuto merge of #2198 - InfRandomness:UNIX-refactor, r=RalfJung
bors [Mon, 6 Jun 2022 12:45:32 +0000 (12:45 +0000)]
Auto merge of #2198 - InfRandomness:UNIX-refactor, r=RalfJung

Refactor POSIX to UNIX

This renames the directories containing posix to unix; where applicable,
it also rename functions with the word "posix" to "unix"

Fixes https://github.com/rust-lang/miri/issues/2012

2 years agoRefactor POSIX to UNIX
infrandomness [Sun, 5 Jun 2022 20:29:30 +0000 (22:29 +0200)]
Refactor POSIX to UNIX

This renames the directory containing posix to unix; where applicable,
it also rename functions with the word "posix" to "unix"

2 years agoAuto merge of #2197 - RalfJung:round-robin, r=RalfJung
bors [Sun, 5 Jun 2022 18:37:07 +0000 (18:37 +0000)]
Auto merge of #2197 - RalfJung:round-robin, r=RalfJung

make Miri's scheduler proper round-robin

When thread N blocks or yields, we activate thread N+1 next, rather than always activating thread 0. This should guarantee that as long as all threads regularly yield, each thread eventually takes a step again.

Fixes the "multiple loops that yield playing ping-pong" part of https://github.com/rust-lang/miri/issues/1388.
`@cbeuw` I hope this doesn't screw up the scheduler-dependent tests you are adding in your PR.

2 years agomore spin-loop-tests
Ralf Jung [Sun, 5 Jun 2022 18:31:44 +0000 (14:31 -0400)]
more spin-loop-tests

2 years agomake Miri's scheduler proper round-robin
Ralf Jung [Sun, 5 Jun 2022 18:20:22 +0000 (14:20 -0400)]
make Miri's scheduler proper round-robin

2 years agoAuto merge of #2194 - RalfJung:race, r=RalfJung
bors [Sun, 5 Jun 2022 16:38:53 +0000 (16:38 +0000)]
Auto merge of #2194 - RalfJung:race, r=RalfJung

add interesting data race test

This interesting testcase came up in https://github.com/rust-lang/miri/issues/2192.

2 years agoadd interesting data race test
Ralf Jung [Sun, 5 Jun 2022 16:14:57 +0000 (12:14 -0400)]
add interesting data race test

2 years agoAuto merge of #2193 - RalfJung:strict, r=RalfJung
bors [Sun, 5 Jun 2022 15:49:55 +0000 (15:49 +0000)]
Auto merge of #2193 - RalfJung:strict, r=RalfJung

do not use int2ptr casts in strict provenance tests

2 years agodo not use int2ptr casts in strict provenance tests
Ralf Jung [Sun, 5 Jun 2022 15:47:39 +0000 (11:47 -0400)]
do not use int2ptr casts in strict provenance tests

2 years agoAuto merge of #2189 - RalfJung:clippy, r=RalfJung
bors [Sun, 5 Jun 2022 15:18:39 +0000 (15:18 +0000)]
Auto merge of #2189 - RalfJung:clippy, r=RalfJung

run Clippy on CI

and fix some things it complains about. Also use `rustup-toolchain` script on CI (reduces code duplication, and good thing to make sure it keeps working, since we recommend it in the docs).

I left `ui_test` out for now; I'll leave those nits to `@oli-obk.` ;)

2 years agoAuto merge of #2190 - RalfJung:rustup, r=RalfJung
bors [Sat, 4 Jun 2022 23:44:29 +0000 (23:44 +0000)]
Auto merge of #2190 - RalfJung:rustup, r=RalfJung

rustup

Cc https://github.com/rust-lang/rust/issues/97745

2 years agorustup
Ralf Jung [Sat, 4 Jun 2022 23:43:46 +0000 (19:43 -0400)]
rustup

2 years agoclippy: cargo-miri
Ralf Jung [Sat, 4 Jun 2022 16:11:23 +0000 (12:11 -0400)]
clippy: cargo-miri

2 years agoclippy: main crate
Ralf Jung [Sat, 4 Jun 2022 15:55:36 +0000 (11:55 -0400)]
clippy: main crate

2 years agorun clippy on CI
Ralf Jung [Sat, 4 Jun 2022 15:48:46 +0000 (11:48 -0400)]
run clippy on CI

2 years agoAuto merge of #2186 - matthiaskrgr:clippy, r=RalfJung
bors [Sat, 4 Jun 2022 15:17:17 +0000 (15:17 +0000)]
Auto merge of #2186 - matthiaskrgr:clippy, r=RalfJung

clippy fixes

clippy::redundant_closure
clippy::unnecessary_mut_passed
clippy::single_char_pattern
clippy::clone_on_copy
clippy::into_iter_on_ref
clippy::extra_unused_lifetimes

2 years agoclippy fixes
Matthias Krüger [Sat, 4 Jun 2022 11:40:54 +0000 (13:40 +0200)]
clippy fixes

clippy::redundant_closure
clippy::unnecessary_mut_passed
clippy::single_char_pattern
clippy::clone_on_copy
clippy::into_iter_on_ref
clippy::extra_unused_lifetimes

2 years agoAuto merge of #2184 - RalfJung:readme, r=RalfJung
bors [Fri, 3 Jun 2022 18:49:13 +0000 (18:49 +0000)]
Auto merge of #2184 - RalfJung:readme, r=RalfJung

fix dangling reference in the README

2 years agofix dangling reference in the README
Ralf Jung [Fri, 3 Jun 2022 18:48:45 +0000 (14:48 -0400)]
fix dangling reference in the README

2 years agoAuto merge of #2180 - RalfJung:stale, r=RalfJung
bors [Fri, 3 Jun 2022 12:10:32 +0000 (12:10 +0000)]
Auto merge of #2180 - RalfJung:stale, r=RalfJung

delete stale stderr files

`@oli-obk` can we do anything to detect them? Not sure if compiletest does anything smart here.

2 years agodelete stale stderr files
Ralf Jung [Fri, 3 Jun 2022 11:36:05 +0000 (07:36 -0400)]
delete stale stderr files

2 years agoAuto merge of #2178 - RalfJung:double-ref, r=RalfJung
bors [Thu, 2 Jun 2022 19:11:46 +0000 (19:11 +0000)]
Auto merge of #2178 - RalfJung:double-ref, r=RalfJung

do not pass TyCtxt by reference

2 years agodo not pass TyCtxt by reference
Ralf Jung [Thu, 2 Jun 2022 19:11:22 +0000 (15:11 -0400)]
do not pass TyCtxt by reference

2 years agoAuto merge of #2177 - DrMeepster:global_allocator_backtrace_test, r=RalfJung
bors [Thu, 2 Jun 2022 11:37:11 +0000 (11:37 +0000)]
Auto merge of #2177 - DrMeepster:global_allocator_backtrace_test, r=RalfJung

add test for backtrace with global allocator

closes #1996

2 years agoadd test for backtrace with global allocator
DrMeepster [Thu, 2 Jun 2022 00:32:01 +0000 (17:32 -0700)]
add test for backtrace with global allocator

2 years agoAuto merge of #2176 - RalfJung:test-dirs, r=oli-obk
bors [Wed, 1 Jun 2022 15:41:11 +0000 (15:41 +0000)]
Auto merge of #2176 - RalfJung:test-dirs, r=oli-obk

rename test suite directories

Fixes https://github.com/rust-lang/miri/issues/2154

2 years agorename test suite directories
Ralf Jung [Wed, 1 Jun 2022 14:53:38 +0000 (10:53 -0400)]
rename test suite directories

2 years agoAuto merge of #2174 - RalfJung:summary, r=oli-obk
bors [Wed, 1 Jun 2022 13:01:22 +0000 (13:01 +0000)]
Auto merge of #2174 - RalfJung:summary, r=oli-obk

print list of failed tests in summary

compiletest does this and it is quite useful; see e.g. [here](https://github.com/rust-lang/rust/runs/6473917188?check_suite_focus=true). Example output:

![image](https://user-images.githubusercontent.com/330628/171382085-21674f46-9db4-49ef-9c52-2be06b307e28.png)

2 years agoprint list of failed tests in summary
Ralf Jung [Wed, 1 Jun 2022 10:14:59 +0000 (06:14 -0400)]
print list of failed tests in summary

2 years agoAuto merge of #2175 - RalfJung:xargo, r=oli-obk
bors [Wed, 1 Jun 2022 12:39:28 +0000 (12:39 +0000)]
Auto merge of #2175 - RalfJung:xargo, r=oli-obk

bump Xargo

Also use that as a clue to refresh our CI caches.

Fixes https://github.com/rust-lang/miri/issues/705

2 years agoAuto merge of #2167 - rust-lang:gesundheit, r=RalfJung
bors [Wed, 1 Jun 2022 11:48:12 +0000 (11:48 +0000)]
Auto merge of #2167 - rust-lang:gesundheit, r=RalfJung

Check that diagnostics happen in the line that they are annotated for

fixes #2131

2 years agoCheck that diagnostics happen in the line that they are annotated for
Oli Scherer [Mon, 30 May 2022 12:17:36 +0000 (12:17 +0000)]
Check that diagnostics happen in the line that they are annotated for

2 years agoadvanced GHA
Ralf Jung [Wed, 1 Jun 2022 10:45:09 +0000 (06:45 -0400)]
advanced GHA

2 years agofmt
Ralf Jung [Wed, 1 Jun 2022 10:42:11 +0000 (06:42 -0400)]
fmt

2 years agoalso avoid rebuilding cached RTIM
Ralf Jung [Wed, 1 Jun 2022 10:31:08 +0000 (06:31 -0400)]
also avoid rebuilding cached RTIM

2 years agobump xargo version, and tweak xargo caching
Ralf Jung [Wed, 1 Jun 2022 10:28:27 +0000 (06:28 -0400)]
bump xargo version, and tweak xargo caching

2 years agoAuto merge of #2173 - RalfJung:rustlib, r=oli-obk
bors [Wed, 1 Jun 2022 07:22:31 +0000 (07:22 +0000)]
Auto merge of #2173 - RalfJung:rustlib, r=oli-obk

different strategy for normalizing Rust stdlib path

`-Zremap-cwd-prefix` has some [unintended side-effects](https://github.com/rust-lang/miri/issues/2172), so we could use regexp-based normalization instead. Unfortunately, this will fail if the user's home directory contains a space.

Fixes https://github.com/rust-lang/miri/issues/2172

2 years agopaper over platform differences
Ralf Jung [Tue, 31 May 2022 23:00:14 +0000 (19:00 -0400)]
paper over platform differences

2 years agodifferent strategy for normalizing Rust stdlib path
Ralf Jung [Tue, 31 May 2022 22:23:47 +0000 (18:23 -0400)]
different strategy for normalizing Rust stdlib path

2 years agoAuto merge of #2171 - RalfJung:less-dup, r=RalfJung
bors [Tue, 31 May 2022 14:37:52 +0000 (14:37 +0000)]
Auto merge of #2171 - RalfJung:less-dup, r=RalfJung

reduce some code duplication

`@saethlin` this is what I meant. I had to fiddle a bit to make the lifetimes work, but now it passes rustc. :)

2 years agofix some lifetime names
Ralf Jung [Tue, 31 May 2022 12:44:48 +0000 (08:44 -0400)]
fix some lifetime names