Skip to content

Conversation

ghost
Copy link

@ghost ghost commented Jan 26, 2021

That assertion has a false positive (playground):

#![feature(maybe_uninit_array_assume_init)]

use std::mem::MaybeUninit;

enum Uninhabited {}

fn main() {
    unsafe {
        // thread 'main' panicked at 'attempted to instantiate uninhabited type `Uninhabited`'
        MaybeUninit::<Uninhabited>::array_assume_init([]);
    }
}

Previously reported in #80600 (comment).

This PR makes it ignore zero-length arrays.

cc #80908

@rust-highfive
Copy link
Contributor

r? @m-ou-se

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 26, 2021
@m-ou-se
Copy link
Member

m-ou-se commented Jan 26, 2021

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Jan 26, 2021

📌 Commit f520667 has been approved by m-ou-se

@bors
Copy link
Collaborator

bors commented Jan 26, 2021

🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 26, 2021
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 26, 2021
Rollup of 14 pull requests

Successful merges:

 - rust-lang#80812 (Update RELEASES.md for 1.50.0)
 - rust-lang#80876 (Add `unwrap_unchecked()` methods for `Option` and `Result`)
 - rust-lang#80900 (Fix ICE with `ReadPointerAsBytes` validation error)
 - rust-lang#81191 (BTreeMap: test all borrowing interfaces and test more chaotic order behavior)
 - rust-lang#81195 (Account for generics when suggesting bound)
 - rust-lang#81299 (Fix some bugs reported by eslint)
 - rust-lang#81325 (typeck: Don't suggest converting LHS exprs)
 - rust-lang#81353 (Fix spelling in documentation for error E0207)
 - rust-lang#81369 (rustc_codegen_ssa: use wall time for codegen_to_LLVM_IR time-passes entry)
 - rust-lang#81389 (rustdoc: Document CommonMark extensions.)
 - rust-lang#81399 (Update books)
 - rust-lang#81401 (tidy: Some code cleanup.)
 - rust-lang#81407 (Refine "remove semicolon" suggestion in trait selection)
 - rust-lang#81412 (Fix assertion in `MaybeUninit::array_assume_init()` for zero-length arrays)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit b2f6c2a into rust-lang:master Jan 26, 2021
@rustbot rustbot added this to the 1.51.0 milestone Jan 26, 2021
@ghost ghost deleted the array-assume-init-wrong-assertion branch January 27, 2021 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

5 participants