Skip to content
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

Switch master to 1.38 #62376

Merged
merged 2 commits into from
Jul 5, 2019
Merged

Switch master to 1.38 #62376

merged 2 commits into from
Jul 5, 2019

Conversation

Mark-Simulacrum
Copy link
Member

No description provided.

@rust-highfive
Copy link
Collaborator

r? @alexcrichton

(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 Jul 4, 2019
@Mark-Simulacrum
Copy link
Member Author

This will fail on CI because we don't have a beta yet, but the date should be accurate and we should have a beta in ~40 minutes.

@@ -148,7 +148,7 @@ if #[cfg(all(any(target_os = "ios", target_os = "netbsd", not(target_arch = "arm
pub const UNWIND_POINTER_REG: c_int = 12;
pub const UNWIND_IP_REG: c_int = 15;

#[cfg_attr(all(not(bootstrap), feature = "llvm-libunwind"),
#[cfg_attr(allfeature = "llvm-libunwind",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#[cfg_attr(allfeature = "llvm-libunwind",
#[cfg_attr(feature = "llvm-libunwind",

@Mark-Simulacrum
Copy link
Member Author

2019-07-04T15:13:25.6174709Z �[0m�[1m�[38;5;9merror�[0m�[0m�[1m: use of deprecated item 'core::mem::uninitialized': use `mem::MaybeUninit` instead�[0m
2019-07-04T15:13:25.6176343Z �[0m  �[0m�[0m�[1m�[38;5;12m--> �[0m�[0msrc/libstd/io/util.rs:47:54�[0m
2019-07-04T15:13:25.6176801Z �[0m   �[0m�[0m�[1m�[38;5;12m|�[0m
2019-07-04T15:13:25.6177324Z �[0m�[1m�[38;5;12m47�[0m�[0m �[0m�[0m�[1m�[38;5;12m| �[0m�[0m        let mut buf: [u8; super::DEFAULT_BUF_SIZE] = mem::uninitialized();�[0m
2019-07-04T15:13:25.6177845Z �[0m   �[0m�[0m�[1m�[38;5;12m| �[0m�[0m                                                     �[0m�[0m�[1m�[38;5;9m^^^^^^^^^^^^^^^^^^�[0m
2019-07-04T15:13:25.6178286Z �[0m   �[0m�[0m�[1m�[38;5;12m|�[0m
2019-07-04T15:13:25.6178733Z �[0m   �[0m�[0m�[1m�[38;5;12m= �[0m�[0m�[1mnote�[0m�[0m: `-D deprecated` implied by `-D warnings`�[0m2019-07-04T15:13:25.6174709Z �[0m�[1m�[38;5;9merror�[0m�[0m�[1m: use of deprecated item 'core::mem::uninitialized': use `mem::MaybeUninit` instead�[0m
2019-07-04T15:13:25.6176343Z �[0m  �[0m�[0m�[1m�[38;5;12m--> �[0m�[0msrc/libstd/io/util.rs:47:54�[0m
2019-07-04T15:13:25.6176801Z �[0m   �[0m�[0m�[1m�[38;5;12m|�[0m
2019-07-04T15:13:25.6177324Z �[0m�[1m�[38;5;12m47�[0m�[0m �[0m�[0m�[1m�[38;5;12m| �[0m�[0m        let mut buf: [u8; super::DEFAULT_BUF_SIZE] = mem::uninitialized();�[0m
2019-07-04T15:13:25.6177845Z �[0m   �[0m�[0m�[1m�[38;5;12m| �[0m�[0m                                                     �[0m�[0m�[1m�[38;5;9m^^^^^^^^^^^^^^^^^^�[0m
2019-07-04T15:13:25.6178286Z �[0m   �[0m�[0m�[1m�[38;5;12m|�[0m
2019-07-04T15:13:25.6178733Z �[0m   �[0m�[0m�[1m�[38;5;12m= �[0m�[0m�[1mnote�[0m�[0m: `-D deprecated` implied by `-D warnings`�[0m

cc @RalfJung - I've simply allowed the warning here though I suspect this isn't the only place. It also looks like the Initializer::initialize API is not ready for MaybeUninit as taking &mut [u8] based on that documentation is UB, though I suppose it depends on whether we consider uninitialized bytes UB or not.

@RalfJung
Copy link
Member

RalfJung commented Jul 4, 2019

Yeah, while libcore and liballoc should be free of mem::uninitialized, I didn't get around to push that through libstd. Should probably open an E-mentor issue about it.

It also looks like the Initializer::initialize API is not ready for MaybeUninit as taking &mut [u8] based on that documentation is UB, though I suppose it depends on whether we consider uninitialized bytes UB or not.

Indeed. This is also related to #58363.

@RalfJung
Copy link
Member

RalfJung commented Jul 4, 2019

There's also still tons of mem::uninitialized in the platform-specific code, that will make CI fail with this PR as-is:

src/libstd/sys/cloudabi/condvar.rs
82:        let mut event: abi::event = mem::uninitialized();
83:        let mut nevents: usize = mem::uninitialized();
134:        let mut events: [abi::event; 2] = mem::uninitialized();
135:        let mut nevents: usize = mem::uninitialized();

src/libstd/sys/cloudabi/mod.rs
62:        let mut v = mem::uninitialized();

src/libstd/sys/cloudabi/time.rs
21:            let mut t = mem::uninitialized();
62:            let mut t = mem::uninitialized();

src/libstd/sys/sgx/mod.rs
143:            let mut ret: u64 = crate::mem::uninitialized();

src/libstd/sys/cloudabi/mutex.rs
56:        mem::uninitialized()
103:            let mut event: abi::event = mem::uninitialized();
104:            let mut nevents: usize = mem::uninitialized();

src/libstd/sys/cloudabi/thread.rs
75:            let mut event: abi::event = mem::uninitialized();
76:            let mut nevents: usize = mem::uninitialized();

src/libstd/sys/cloudabi/rwlock.rs
76:            let mut event: abi::event = mem::uninitialized();
77:            let mut nevents: usize = mem::uninitialized();
185:            let mut event: abi::event = mem::uninitialized();
186:            let mut nevents: usize = mem::uninitialized();

src/libstd/sys/cloudabi/abi/cloudabi.rs
1096:    let obj: auxv = core::mem::uninitialized();
1109:    let obj: auxv = core::mem::uninitialized();
1130:    let obj: ciovec = core::mem::uninitialized();
1142:    let obj: ciovec = core::mem::uninitialized();
1170:    let obj: dirent = core::mem::uninitialized();
1234:    let obj: event = core::mem::uninitialized();
1268:    let obj: fdstat = core::mem::uninitialized();
1305:    let obj: filestat = core::mem::uninitialized();
1331:    let obj: iovec = core::mem::uninitialized();
1343:    let obj: iovec = core::mem::uninitialized();
1366:    let obj: lookup = core::mem::uninitialized();
1400:    let obj: recv_in = core::mem::uninitialized();
1415:    let obj: recv_in = core::mem::uninitialized();
1444:    let obj: recv_out = core::mem::uninitialized();
1458:    let obj: recv_out = core::mem::uninitialized();
1486:    let obj: send_in = core::mem::uninitialized();
1501:    let obj: send_in = core::mem::uninitialized();
1524:    let obj: send_out = core::mem::uninitialized();
1535:    let obj: send_out = core::mem::uninitialized();
1653:    let obj: subscription = core::mem::uninitialized();
1680:    let obj: subscription = core::mem::uninitialized();
1734:    let obj: tcb = core::mem::uninitialized();
1745:    let obj: tcb = core::mem::uninitialized();
1779:    let obj: threadattr = core::mem::uninitialized();
1793:    let obj: threadattr = core::mem::uninitialized();

Probably the cloudabi and sgx modules should just get #![allow(deprecated)] for now. Does someone know who maintains those so we can Cc them?

@alexcrichton
Copy link
Member

r=me when this is green on CI

@Mark-Simulacrum
Copy link
Member Author

@bors r=alexcrichton p=50

@bors
Copy link
Contributor

bors commented Jul 5, 2019

📌 Commit 007d87f has been approved by alexcrichton

@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 Jul 5, 2019
@bors
Copy link
Contributor

bors commented Jul 5, 2019

⌛ Testing commit 007d87f with merge baab191...

bors added a commit that referenced this pull request Jul 5, 2019
@bors
Copy link
Contributor

bors commented Jul 5, 2019

☀️ Test successful - checks-azure, checks-travis, status-appveyor
Approved by: alexcrichton
Pushing baab191 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 5, 2019
@bors bors merged commit 007d87f into rust-lang:master Jul 5, 2019
@Mark-Simulacrum Mark-Simulacrum deleted the 1.38-nightly branch July 5, 2019 10:42
Keruspe added a commit to Keruspe/rust that referenced this pull request Jul 5, 2019
This was broken by rust-lang#62376
Since rust-lang#62286 is not in beta yet, we cannot remove those not(bootstrap)

Signed-off-by: Marc-Antoine Perennou <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. 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.

6 participants