Skip to content

Commit f58c6f2

Browse files
authored
rustup update, and edition = 2021 (#775)
1 parent 4831789 commit f58c6f2

File tree

17 files changed

+46
-21
lines changed

17 files changed

+46
-21
lines changed

crates/rustc_codegen_spirv/src/builder/spirv_asm.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -717,8 +717,7 @@ impl<'cx, 'tcx> Builder<'cx, 'tcx> {
717717

718718
// FIXME(eddyb) try multiple signatures until one fits.
719719
let mut sig = match instruction_signatures(instruction.class.opcode)? {
720-
[sig
721-
@ InstSig {
720+
[sig @ InstSig {
722721
output_type: Some(_),
723722
..
724723
}] => *sig,

crates/rustc_codegen_spirv/src/codegen_cx/mod.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,12 @@ impl<'tcx> MiscMethods<'tcx> for CodegenCx<'tcx> {
588588
}
589589

590590
impl<'tcx> DebugInfoMethods<'tcx> for CodegenCx<'tcx> {
591-
fn create_vtable_metadata(&self, _ty: Ty<'tcx>, _vtable: Self::Value) {
591+
fn create_vtable_metadata(
592+
&self,
593+
_ty: Ty<'tcx>,
594+
_trait_ref: Option<PolyExistentialTraitRef<'tcx>>,
595+
_vtable: Self::Value,
596+
) {
592597
// Ignore.
593598
}
594599

crates/rustc_codegen_spirv/src/lib.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ extern crate rustc_errors;
117117
extern crate rustc_hir;
118118
extern crate rustc_index;
119119
extern crate rustc_interface;
120+
extern crate rustc_metadata;
120121
extern crate rustc_middle;
121122
extern crate rustc_session;
122123
extern crate rustc_span;
@@ -167,8 +168,8 @@ use rustc_codegen_ssa::traits::{
167168
use rustc_codegen_ssa::{CodegenResults, CompiledModule, ModuleCodegen, ModuleKind};
168169
use rustc_data_structures::fx::FxHashMap;
169170
use rustc_errors::{ErrorReported, FatalError, Handler};
171+
use rustc_metadata::EncodedMetadata;
170172
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
171-
use rustc_middle::middle::cstore::EncodedMetadata;
172173
use rustc_middle::mir::mono::{Linkage, MonoItem, Visibility};
173174
use rustc_middle::mir::pretty::write_mir_pretty;
174175
use rustc_middle::ty::print::with_no_trimmed_paths;
@@ -211,7 +212,7 @@ fn is_blocklisted_fn<'tcx>(
211212
) -> bool {
212213
// TODO: These sometimes have a constant value of an enum variant with a hole
213214
if let InstanceDef::Item(def) = instance.def {
214-
if let Some(debug_trait_def_id) = tcx.get_diagnostic_item(sym::debug_trait) {
215+
if let Some(debug_trait_def_id) = tcx.get_diagnostic_item(sym::Debug) {
215216
// Helper for detecting `<_ as core::fmt::Debug>::fmt` (in impls).
216217
let is_debug_fmt_method = |def_id| match tcx.opt_associated_item(def_id) {
217218
Some(assoc) if assoc.ident.name == sym::fmt => match assoc.container {

crates/rustc_codegen_spirv/src/link.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,11 @@ fn link_rlib(sess: &Session, codegen_results: &CodegenResults, out_filename: &Pa
102102
}
103103
}
104104

105-
create_archive(&file_list, &codegen_results.metadata.raw_data, out_filename);
105+
create_archive(
106+
&file_list,
107+
codegen_results.metadata.raw_data(),
108+
out_filename,
109+
);
106110
}
107111

108112
fn link_exe(

crates/rustc_codegen_spirv/src/linker/inline.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ pub fn inline(sess: &Session, module: &mut Module) -> super::Result<()> {
5353
})
5454
});
5555
let mut inliner = Inliner {
56-
header: &mut module.header.as_mut().unwrap(),
56+
header: module.header.as_mut().unwrap(),
5757
types_global_values: &mut module.types_global_values,
5858
void,
5959
functions: &functions,

crates/rustc_codegen_spirv/src/linker/mod.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ pub struct Options {
3737
}
3838

3939
pub enum LinkResult {
40-
SingleModule(Module),
40+
SingleModule(Box<Module>),
4141
MultipleModules(FxHashMap<String, Module>),
4242
}
4343

@@ -107,8 +107,8 @@ pub fn link(sess: &Session, mut inputs: Vec<Module>, opts: &Options) -> Result<L
107107
let mut bound = inputs[0].header.as_ref().unwrap().bound - 1;
108108
let version = inputs[0].header.as_ref().unwrap().version();
109109

110-
for mut module in inputs.iter_mut().skip(1) {
111-
simple_passes::shift_ids(&mut module, bound);
110+
for module in inputs.iter_mut().skip(1) {
111+
simple_passes::shift_ids(module, bound);
112112
bound += module.header.as_ref().unwrap().bound - 1;
113113
let this_version = module.header.as_ref().unwrap().version();
114114
if version != this_version {
@@ -293,11 +293,11 @@ pub fn link(sess: &Session, mut inputs: Vec<Module>, opts: &Options) -> Result<L
293293
.collect();
294294
LinkResult::MultipleModules(modules)
295295
} else {
296-
LinkResult::SingleModule(output)
296+
LinkResult::SingleModule(Box::new(output))
297297
};
298298

299299
let output_module_iter: Box<dyn Iterator<Item = &mut Module>> = match output {
300-
LinkResult::SingleModule(ref mut m) => Box::new(std::iter::once(m)),
300+
LinkResult::SingleModule(ref mut m) => Box::new(std::iter::once(&mut *m as &mut Module)),
301301
LinkResult::MultipleModules(ref mut m) => Box::new(m.values_mut()),
302302
};
303303
for (i, output) in output_module_iter.enumerate() {

crates/rustc_codegen_spirv/src/linker/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ fn assemble_and_link(binaries: &[&[u8]]) -> Result<Module, String> {
9999
);
100100
assert_eq!(compiler.session().has_errors(), res.is_err());
101101
res.map(|res| match res {
102-
LinkResult::SingleModule(m) => m,
102+
LinkResult::SingleModule(m) => *m,
103103
LinkResult::MultipleModules(_) => unreachable!(),
104104
})
105105
})

crates/spirv-builder/src/depfile.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub fn read_deps_file_from(
3636

3737
loop {
3838
line.clear();
39-
if file.read_until(b'\n', &mut line.as_mut_bytes())? == 0 {
39+
if file.read_until(b'\n', line.as_mut_bytes())? == 0 {
4040
break;
4141
}
4242

crates/spirv-std/src/float.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
use crate::vector::Vector;
22

33
/// Abstract trait representing a SPIR-V floating point type.
4+
///
5+
/// # Safety
6+
/// Implementing this trait on non-primitive-float types breaks assumptions of other unsafe code,
7+
/// and should not be done.
48
pub unsafe trait Float: num_traits::Float + crate::scalar::Scalar + Default {
59
const WIDTH: usize;
610
}

crates/spirv-std/src/integer.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
/// Abstract trait representing any SPIR-V integer type.
2+
///
3+
/// # Safety
4+
/// Implementing this trait on non-primitive-integer types breaks assumptions of other unsafe code,
5+
/// and should not be done.
26
pub unsafe trait Integer: num_traits::PrimInt + crate::scalar::Scalar {
37
const WIDTH: usize;
48
const SIGNED: bool;

0 commit comments

Comments
 (0)