New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Miri engine refactoring #55915

Merged
merged 34 commits into from Nov 25, 2018

Conversation

Projects
None yet
6 participants
@oli-obk
Contributor

oli-obk commented Nov 13, 2018

next small step of #55293

r? @RalfJung

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 13, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:01172024:start=1542117415845221551,finish=1542117496812534761,duration=80967313210
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---

[00:04:04] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:04:05] tidy error: /checkout/src/test/ui/consts/int_ptr_for_zst_slices.rs: missing trailing newline
[00:04:06] some tidy checks failed
[00:04:06] 
[00:04:06] 
[00:04:06] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:06] 
[00:04:06] 
[00:04:06] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:06] Build completed unsuccessfully in 0:00:51
[00:04:06] Build completed unsuccessfully in 0:00:51
[00:04:06] Makefile:79: recipe for target 'tidy' failed
[00:04:06] make: *** [tidy] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0f703d20
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Tue Nov 13 14:02:33 UTC 2018
---
travis_time:end:18f869c4:start=1542117754248344686,finish=1542117754254183304,duration=5838618
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0eb9fce7
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:24d0f1f5
travis_time:start:24d0f1f5
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:077e848c
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 13, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:11e6f7c7:start=1542122118131533866,finish=1542122179259283306,duration=61127749440
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:49:14] .................................................................................................... 400/5018
[00:49:17] .................................................................................................... 500/5018
[00:49:21] .............................i...................................................................... 600/5018
[00:49:25] .................................................................................................... 700/5018
[00:49:31] ...........................................................F......................i...........i..... 800/5018
[00:49:38] .iiiii.............................................................................................. 1000/5018
[00:49:41] .................................................................................................... 1100/5018
[00:49:43] .................................................................................................... 1200/5018
[00:49:45] .................................................................................................... 1300/5018
---
for a backtrace.
[00:51:47] 
[00:51:47] 
[00:51:47] failures:
[00:51:47]     [ui] ui/consts/int_ptr_for_zst_slices.rs
[00:51:47] test result: FAILED. 4993 passed; 1 failed; 24 ignored; 0 measured; 0 filtered out
[00:51:47] 
[00:51:47] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:503:22
[00:51:47] 
[00:51:47] 
[00:51:47] 
[00:51:47] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-5.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "5.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:51:47] 
[00:51:47] 
[00:51:47] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:51:47] Build completed unsuccessfully in 0:03:49
[00:51:47] Build completed unsuccessfully in 0:03:49
[00:51:47] Makefile:58: recipe for target 'check' failed
[00:51:47] make: *** [check] Error 1
2346332 ./obj
2346292 ./obj/build
1710516 ./obj/build/x86_64-unknown-linux-gnu
1196584 ./.git

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 14, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:0f7be300:start=1542189622385761784,finish=1542189685128900722,duration=62743138938
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:13:54]    Compiling rustc_mir v0.0.0 (/checkout/src/librustc_mir)
[00:13:56] error[E0433]: failed to resolve. Use of undeclared type or module `AllocationExtra`
[00:13:56]    --> librustc_mir/interpret/memory.rs:228:9
[00:13:56]     |
[00:13:56] 228 |         AllocationExtra::memory_deallocated(&mut alloc, ptr, size)?;
[00:13:56]     |         ^^^^^^^^^^^^^^^ Use of undeclared type or module `AllocationExtra`
[00:14:13] error: aborting due to previous error
[00:14:13] 
[00:14:13] For more information about this error, try `rustc --explain E0433`.
[00:14:13] error: Could not compile `rustc_mir`.
---
travis_time:end:0e69423a:start=1542190598647787771,finish=1542190598654310687,duration=6522916
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:2e6f8bd6
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0a1fdb82
travis_time:start:0a1fdb82
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:2bd3aa0c
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 14, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:0b765655:start=1542192471319307043,finish=1542192526385121409,duration=55065814366
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:13:46]    Compiling rustc_mir v0.0.0 (/checkout/src/librustc_mir)
[00:13:48] error[E0433]: failed to resolve. Use of undeclared type or module `AllocationExtra`
[00:13:48]    --> librustc_mir/interpret/memory.rs:228:9
[00:13:48]     |
[00:13:48] 228 |         AllocationExtra::memory_deallocated(&mut alloc, ptr, size)?;
[00:13:48]     |         ^^^^^^^^^^^^^^^ Use of undeclared type or module `AllocationExtra`
[00:14:04] error: aborting due to previous error
[00:14:04] 
[00:14:04] For more information about this error, try `rustc --explain E0433`.
[00:14:04] error: Could not compile `rustc_mir`.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@oli-obk oli-obk force-pushed the oli-obk:miri_engine_refactoring branch 2 times, most recently from d063639 to 700eda3 Nov 14, 2018

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 15, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:14b7e500:start=1542289814411928686,finish=1542289815802788038,duration=1390859352
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:51:45]    Compiling rand v0.4.3
[00:51:47] error[E0080]: it is undefined behavior to use this value
[00:51:47]   --> /cargo/registry/src/github.com-1ecc6299db9ec823/rand-0.4.3/src/prng/chacha.rs:39:1
[00:51:47]    |
[00:51:47] 39 | / static EMPTY: ChaChaRng = ChaChaRng {
[00:51:47] 40 | |     buffer:  [w(0); STATE_WORDS],
[00:51:47] 41 | |     state:   [w(0); STATE_WORDS],
[00:51:47] 42 | |     index:   STATE_WORDS
[00:51:47] 43 | | };
[00:51:47]    | |__^ tried to access memory with alignment 4, but alignment 8 is required
[00:51:47]    |
[00:51:47]    = note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rust compiler repository if you believe it should not be considered undefined behavior
[00:51:48] error: aborting due to previous error
[00:51:48] 
[00:51:48] For more information about this error, try `rustc --explain E0080`.
[00:51:48] error: Could not compile `rand`.
[00:51:48] error: Could not compile `rand`.
[00:51:48] warning: build failed, waiting for other jobs to finish...
[00:51:54] error: build failed
[00:51:54] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json"
[00:51:54] expected success, got: exit code: 101
[00:51:54] thread 'main' panicked at 'cargo must succeed', bootstrap/compile.rs:1101:9
[00:51:54] travis_fold:end:stage1-rustc

[00:51:54] travis_time:end:stage1-rustc:start=1542292918623647135,finish=1542292939222870348,duration=20599223213


[00:51:54] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap build
[00:51:54] Build completed unsuccessfully in 0:18:27
[00:51:54] make: *** [all] Error 1
[00:51:54] Makefile:28: recipe for target 'all' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:00018db6
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Thu Nov 15 14:42:19 UTC 2018

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@oli-obk

This comment has been minimized.

Contributor

oli-obk commented Nov 16, 2018

this is ready for review now

Show resolved Hide resolved src/librustc_mir/interpret/memory.rs Outdated
Show resolved Hide resolved src/librustc_mir/interpret/operand.rs Outdated
@@ -61,16 +61,16 @@ impl<'a, 'mir, 'tcx, M: Machine<'a, 'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
let drop = self.memory.create_fn_alloc(drop).with_default_tag();
self.memory
.get_mut(vtable.alloc_id)?
.write_ptr_sized(tcx, vtable, ptr_align, Scalar::Ptr(drop).into())?;
.write_ptr_sized(tcx, vtable, Scalar::Ptr(drop).into())?;

This comment has been minimized.

@RalfJung

RalfJung Nov 16, 2018

Member

Maybe add a comment that we do not bother with alignment checks here because anyway this is just generating static data.

Actually, with Allocation having so many methods, couldn't we do more of these preparations (writing all the stuff) before adding the allocation to the memory? We might even not add it to the memory at all but intern it immediately? But that's stuff for a future PR.

This comment has been minimized.

@oli-obk

oli-obk Nov 16, 2018

Contributor

Seems doable and probably even allows us to generalize this function so it can be used from codegen, too (without needing an eval context)

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 16, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:013d8ea4:start=1542363482690847273,finish=1542363541483415501,duration=58792568228
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---

[00:03:44] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:03:44] tidy error: /checkout/src/librustc_mir/interpret/memory.rs:671: line longer than 100 chars
[00:03:45] some tidy checks failed
[00:03:45] 
[00:03:45] 
[00:03:45] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:03:45] 
[00:03:45] 
[00:03:45] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:03:45] Build completed unsuccessfully in 0:00:46
[00:03:45] Build completed unsuccessfully in 0:00:46
[00:03:45] Makefile:79: recipe for target 'tidy' failed
[00:03:45] make: *** [tidy] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:084d1cac
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Fri Nov 16 10:22:57 UTC 2018
---
travis_time:end:0db79445:start=1542363778173239337,finish=1542363778177877849,duration=4638512
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:00570bbc
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:191a90b4
travis_time:start:191a90b4
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0fe39998
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@oli-obk

This comment has been minimized.

Contributor

oli-obk commented Nov 16, 2018

So... I remember the exact issue now. The Place for e.g. (u32, u32, u64) is 8 byte aligned. But when I try to access the second u32, we need 4 byte alignment checks.

I presume from your comments that it's a bug if the ptr_align is 8 in try_read_immediate_from_mplace function, so the caller of the function is at fault?

@oli-obk oli-obk force-pushed the oli-obk:miri_engine_refactoring branch from a72efd7 to b853252 Nov 24, 2018

@oli-obk

This comment has been minimized.

Contributor

oli-obk commented Nov 24, 2018

@bors r=RalfJung rebased

@bors

This comment has been minimized.

Contributor

bors commented Nov 24, 2018

📌 Commit b853252 has been approved by RalfJung

@bors

This comment has been minimized.

Contributor

bors commented Nov 24, 2018

⌛️ Testing commit b853252 with merge c52cd94...

bors added a commit that referenced this pull request Nov 24, 2018

Auto merge of #55915 - oli-obk:miri_engine_refactoring, r=RalfJung
Miri engine refactoring

next small step of #55293

r? @RalfJung
@bors

This comment has been minimized.

Contributor

bors commented Nov 24, 2018

💔 Test failed - status-appveyor

@RalfJung

This comment has been minimized.

Member

RalfJung commented Nov 24, 2018

Build completed successfully in 3:01:33
Command exited with code 259

Hu? Cc @rust-lang/infra

@kennytm

This comment has been minimized.

Member

kennytm commented Nov 24, 2018

@bors retry

bors added a commit that referenced this pull request Nov 24, 2018

Auto merge of #56201 - kennytm:revert-55935, r=alexcrichton
Revert "appveyor: Use VS2017 for all our images"

This reverts commit 008e5dc (#55935)

We suspect this causes the spurious failure in #55906 (comment) and #55915 (comment).

r? @alexcrichton

bors added a commit that referenced this pull request Nov 25, 2018

Auto merge of #55915 - oli-obk:miri_engine_refactoring, r=RalfJung
Miri engine refactoring

next small step of #55293

r? @RalfJung
@bors

This comment has been minimized.

Contributor

bors commented Nov 25, 2018

⌛️ Testing commit b853252 with merge 2dd94c1...

@bors

This comment has been minimized.

Contributor

bors commented Nov 25, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: RalfJung
Pushing 2dd94c1 to master...

@bors bors merged commit b853252 into rust-lang:master Nov 25, 2018

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
@rust-highfive

This comment has been minimized.

Collaborator

rust-highfive commented Nov 25, 2018

📣 Toolstate changed by #55915!

Tested on commit 2dd94c1.
Direct link to PR: #55915

🎉 miri on windows: build-fail → test-pass (cc @oli-obk @RalfJung @eddyb, @rust-lang/infra).
🎉 miri on linux: build-fail → test-pass (cc @oli-obk @RalfJung @eddyb, @rust-lang/infra).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Nov 25, 2018

📣 Toolstate changed by rust-lang/rust#55915!
Tested on commit rust-lang/rust@2dd94c1.
Direct link to PR: <rust-lang/rust#55915>

🎉 miri on windows: build-fail → test-pass (cc @oli-obk @RalfJung @eddyb, @rust-lang/infra).
🎉 miri on linux: build-fail → test-pass (cc @oli-obk @RalfJung @eddyb, @rust-lang/infra).
@nnethercote

This comment has been minimized.

Contributor

nnethercote commented Nov 29, 2018

Some nice perf wins for this, up to 5% across multiple benchmarks.

@oli-obk oli-obk deleted the oli-obk:miri_engine_refactoring branch Nov 30, 2018

bors added a commit that referenced this pull request Dec 5, 2018

Auto merge of #55922 - oli-obk:slice_pat_ice, r=zackmdavis
Fix ICE in `const` slice patterns

fixes #55911

based on #55915

New commits start at eabc155
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment