Skip to content

Conversation

Dylan-DPC-zz
Copy link

Successful merges:

Failed merges:

r? @ghost

lcnr and others added 14 commits March 23, 2020 18:39
The former `done` flag was roughly similar to an `Option` tag, but left
the possibity of misuse. By using a real `Option`, we can set `None`
when the iterator is exhausted, removing any way to call it again. We
also allow niche layout this way, so the `Fuse` may be smaller.

The `FusedIterator` specialization does want to ignore the possibility
of exhaustion though, so it uses `unsafe { intrinsics::unreachable() }`
to optimize that branch away. The entire `Fuse` implementation is now
isolated in its own module to contain that unsafety.
InterpCtx => InterpCx 
(rustc_mir::interpret::InterpCx)
Implement Fuse with Option

The former `done` flag was roughly similar to an `Option` tag, but left
the possibity of misuse. By using a real `Option`, we can set `None`
when the iterator is exhausted, removing any way to call it again. We
also allow niche layout this way, so the `Fuse` may be smaller.

The `FusedIterator` specialization does want to ignore the possibility
of exhaustion though, so it uses `unsafe { intrinsics::unreachable() }`
to optimize that branch away. The entire `Fuse` implementation is now
isolated in its own module to contain that unsafety.

r? @scottmcm
avoid catching InterpError

Avoid raising and then capturing `InterpError` for the definedness check.

Cc rust-lang#69297
r? @oli-obk
fix incorrect type name in doc comments

Change : `InterpCtx` => `InterpCx`
(`rustc_mir::interpret::InterpCx`)
@Dylan-DPC-zz
Copy link
Author

@bors r+ rollup=never p=4

@bors
Copy link
Collaborator

bors commented Mar 25, 2020

📌 Commit 43a4b69 has been approved by Dylan-DPC

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Mar 25, 2020
@Dylan-DPC-zz Dylan-DPC-zz added the rollup A PR which is a rollup label Mar 25, 2020
@Dylan-DPC-zz
Copy link
Author

@bors r-

@Dylan-DPC-zz Dylan-DPC-zz deleted the rollup-o64iz99 branch March 25, 2020 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants