Rustup to rustc 1.40.0-nightly (10a52c25c 2019-10-24)

This commit is contained in:
bjorn3 2019-10-25 21:24:50 +02:00
parent dda5ea883a
commit 8536514308
7 changed files with 35 additions and 26 deletions

View File

@ -52,7 +52,7 @@ cranelift-simplejit = { git = "https://github.com/CraneStation/cranelift.git" }
# By compiling dependencies with optimizations, performing tests gets much faster.
opt-level = 3
[profile.dev.overrides."rustc_codegen_cranelift"]
[profile.dev.package.rustc_codegen_cranelift]
# Disabling optimizations for cg_clif itself makes compilation after a change faster.
opt-level = 0
@ -62,14 +62,14 @@ opt-level = 0
opt-level = 0
debug = false
[profile.dev.overrides.cranelift-codegen-meta]
[profile.dev.package.cranelift-codegen-meta]
opt-level = 0
debug = false
[profile.dev.overrides.syn]
[profile.dev.package.syn]
opt-level = 0
debug = false
[profile.dev.overrides.synstructure]
[profile.dev.package.synstructure]
opt-level = 0
debug = false

View File

@ -1,6 +1,6 @@
#![feature(
no_core, lang_items, intrinsics, unboxed_closures, type_ascription, extern_types,
untagged_unions, decl_macro, rustc_attrs
untagged_unions, decl_macro, rustc_attrs, transparent_unions
)]
#![no_core]
#![allow(dead_code)]
@ -448,10 +448,17 @@ pub trait Drop {
fn drop(&mut self);
}
#[allow(unions_with_drop_fields)]
#[lang = "manually_drop"]
#[repr(transparent)]
pub struct ManuallyDrop<T: ?Sized> {
pub value: T,
}
#[lang = "maybe_uninit"]
#[repr(transparent)]
pub union MaybeUninit<T> {
pub uninit: (),
pub value: T,
pub value: ManuallyDrop<T>,
}
pub mod intrinsics {

View File

@ -196,7 +196,7 @@ fn main() {
}
unsafe fn uninitialized<T>() -> T {
MaybeUninit { uninit: () }.value
MaybeUninit { uninit: () }.value.value
}
zeroed::<(u8, u8)>();

View File

@ -12,18 +12,18 @@ index 8b76080..9e65de2 100644
--- a/src/libtest/lib.rs
+++ b/src/libtest/lib.rs
@@ -52,7 +52,7 @@ use std::fmt;
use std::fs::File;
use std::io;
use std::io::prelude::*;
-use std::panic::{self, catch_unwind, AssertUnwindSafe, PanicInfo};
+use std::panic::{self, PanicInfo};
use std::path::PathBuf;
use std::process;
use std::process::{ExitStatus, Command, Termination};
env,
io,
io::prelude::Write,
- panic::{self, catch_unwind, AssertUnwindSafe, PanicInfo},
+ panic::{self, PanicInfo},
process,
process::{Command, Termination},
sync::mpsc::{channel, Sender},
@@ -1493,7 +1493,7 @@ pub fn run_test(
fn run_test_inner(
desc: TestDesc,
monitor_ch: Sender<MonitorMsg>,
monitor_ch: Sender<CompletedTest>,
- testfn: Box<dyn FnOnce() + Send>,
+ testfn: Box<impl FnOnce() + Send + 'static>,
opts: TestRunOpts,
@ -65,8 +65,8 @@ index 8b76080..9e65de2 100644
report_time: bool,
- testfn: Box<dyn FnOnce() + Send>,
+ testfn: Box<impl FnOnce() + Send + 'static>,
monitor_ch: Sender<MonitorMsg>,
time_opts: Option<TestTimeOptions>,
monitor_ch: Sender<CompletedTest>,
time_opts: Option<time::TestTimeOptions>,
) {
// Buffer for capturing standard I/O
let data = Arc::new(Mutex::new(Vec::new()));
@ -75,12 +75,12 @@ index 8b76080..9e65de2 100644
None
};
- let result = catch_unwind(AssertUnwindSafe(testfn));
+ let result = Ok::<(), Box<dyn Any + Send>>(testfn());
+ let result = Ok::<(), Box<dyn std::any::Any + Send>>(testfn());
let exec_time = start.map(|start| {
let duration = start.elapsed();
TestExecTime(duration)
@@ -1688,10 +1676,10 @@ fn spawn_test_subprocess(desc: TestDesc, report_time: bool, monitor_ch: Sender<M
monitor_ch.send((desc.clone(), result, exec_time, test_output)).unwrap();
monitor_ch.send(message).unwrap();
}
fn run_test_in_spawned_subprocess(

View File

@ -1,7 +1,7 @@
#!/bin/bash --verbose
set -e
rustup component add rust-src
rustup component add rust-src rustc-dev
./build_sysroot/prepare_sysroot_src.sh
cargo install hyperfine || echo "Skipping hyperfine install"

View File

@ -286,7 +286,9 @@ pub struct FunctionCx<'clif, 'tcx, B: Backend + 'static> {
pub clif_comments: crate::pretty_clif::CommentWriter,
pub constants_cx: &'clif mut crate::constant::ConstantCx,
pub caches: &'clif mut Caches<'tcx>,
pub source_info_set: indexmap::IndexSet<SourceInfo>,
// FIXME switch back to `SourceInfo`, once it derives `Eq` and `Hash` again.
pub source_info_set: indexmap::IndexSet<(Span, mir::SourceScope)>,
}
impl<'tcx, B: Backend> LayoutOf for FunctionCx<'_, 'tcx, B> {
@ -365,7 +367,7 @@ impl<'tcx, B: Backend + 'static> FunctionCx<'_, 'tcx, B> {
}
pub fn set_debug_loc(&mut self, source_info: mir::SourceInfo) {
let (index, _) = self.source_info_set.insert_full(source_info);
let (index, _) = self.source_info_set.insert_full((source_info.span, source_info.scope));
self.bcx.set_srcloc(SourceLoc::new(index as u32));
}
}

View File

@ -252,7 +252,7 @@ impl<'a, 'tcx> FunctionDebugContext<'a, 'tcx> {
tcx: TyCtxt,
context: &Context,
isa: &dyn cranelift::codegen::isa::TargetIsa,
source_info_set: &indexmap::IndexSet<SourceInfo>,
source_info_set: &indexmap::IndexSet<(Span, mir::SourceScope)>,
) {
let line_program = &mut self.debug_context.dwarf.unit.line_program;
@ -292,7 +292,7 @@ impl<'a, 'tcx> FunctionDebugContext<'a, 'tcx> {
line_program.row().address_offset = offset as u64;
if !srcloc.is_default() {
let source_info = *source_info_set.get_index(srcloc.bits() as usize).unwrap();
create_row_for_span(line_program, source_info.span);
create_row_for_span(line_program, source_info.0);
} else {
create_row_for_span(line_program, self.mir_span);
}