diff options
| author | bors <bors@rust-lang.org> | 2019-03-07 00:27:07 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-03-07 00:27:07 +0000 |
| commit | 88f755f8a84df1d9e6b17cf10c96ae8b93481b2e (patch) | |
| tree | 140a26d5dd27f9cec68ddef6a41e3fade7d46bd7 /src/librustc_codegen_ssa | |
| parent | f22dca0a1bef4141e75326caacc3cd59f3d5be8e (diff) | |
| parent | de4478af91765999f51b2950bea16686ee4cd60a (diff) | |
| download | rust-88f755f8a84df1d9e6b17cf10c96ae8b93481b2e.tar.gz rust-88f755f8a84df1d9e6b17cf10c96ae8b93481b2e.zip | |
Auto merge of #58583 - varkor:const-generics-ty, r=oli-obk
Add const generics to ty (and transitive dependencies) Split out from #53645. This work is a collaborative effort with @yodaldevoid. There are a number of stubs. Some I plan to leave for the next PRs (e.g. `infer` and `rustdoc`). Others I can either fix up in this PR, or as follow ups (which would avoid the time-consuming rebasing). It was a little hard to split this up, as so much depends on ty and friends. Apologies for the large diff. r? @eddyb
Diffstat (limited to 'src/librustc_codegen_ssa')
| -rw-r--r-- | src/librustc_codegen_ssa/back/symbol_export.rs | 2 | ||||
| -rw-r--r-- | src/librustc_codegen_ssa/mir/operand.rs | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/librustc_codegen_ssa/back/symbol_export.rs b/src/librustc_codegen_ssa/back/symbol_export.rs index 7da28c19d24..336f41b784a 100644 --- a/src/librustc_codegen_ssa/back/symbol_export.rs +++ b/src/librustc_codegen_ssa/back/symbol_export.rs @@ -263,7 +263,7 @@ fn exported_symbols_provider_local<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, def: InstanceDef::Item(def_id), substs, }) = mono_item { - if substs.types().next().is_some() { + if substs.non_erasable_generics().next().is_some() { symbols.push((ExportedSymbol::Generic(def_id, substs), SymbolExportLevel::Rust)); } diff --git a/src/librustc_codegen_ssa/mir/operand.rs b/src/librustc_codegen_ssa/mir/operand.rs index 0a6549851f4..55a1eb016e0 100644 --- a/src/librustc_codegen_ssa/mir/operand.rs +++ b/src/librustc_codegen_ssa/mir/operand.rs @@ -76,6 +76,8 @@ impl<'a, 'tcx: 'a, V: CodegenObject> OperandRef<'tcx, V> { } let val = match val.val { + ConstValue::Param(_) => bug!("encountered a ConstValue::Param in codegen"), + ConstValue::Infer(_) => bug!("encountered a ConstValue::Infer in codegen"), ConstValue::Scalar(x) => { let scalar = match layout.abi { layout::Abi::Scalar(ref x) => x, |
