rust/compiler
Yuki Okushi bc950c85c5
Rollup merge of #81185 - osa1:fix_80742, r=oli-obk
Fix ICE in mir when evaluating SizeOf on unsized type

Not quite ready yet. This tries to fix #80742 as discussed on [Zulip topic][1],
by using `delay_span_bug`.

I don't understand what `delay_span_bug` does. It seems like my error message
is never used. With this patch, in this program:

```rust
#![allow(incomplete_features)]
#![feature(const_evaluatable_checked)]
#![feature(const_generics)]

use std::fmt::Debug;
use std::marker::PhantomData;
use std::mem::size_of;

struct Inline<T>
where
    [u8; size_of::<T>() + 1]: ,
{
    _phantom: PhantomData<T>,
    buf: [u8; size_of::<T>() + 1],
}

impl<T> Inline<T>
where
    [u8; size_of::<T>() + 1]: ,
{
    pub fn new(val: T) -> Inline<T> {
        todo!()
    }
}

fn main() {
    let dst = Inline::<dyn Debug>::new(0); // line 27
}
```

these errors are printed, both for line 27 (annotated line above):

- "no function or associated item named `new` found for struct `Inline<dyn
  Debug>` in the current scope"
- "the size for values of type `dyn Debug` cannot be known at compilation time"

Second error makes sense, but I'm not sure about the first one and why it's
even printed.

Finally, I'm not sure about the span passing in `const_eval`.

[1]: https://rust-lang.zulipchat.com/#narrow/stream/269128-miri/topic/Help.20fixing.20.2380742
2021-01-21 20:04:53 +09:00
..
rustc just max_level_info 2020-09-11 09:37:51 -07:00
rustc_apfloat Backport another LLVM commit to rustc_apfloat 2020-10-04 02:02:25 +02:00
rustc_arena stabilize min_const_generics 2020-12-26 18:24:10 +01:00
rustc_ast Replace let Some(..) = with .is_some() 2021-01-17 19:06:12 -05:00
rustc_ast_lowering Use Option::map_or instead of .map(..).unwrap_or(..) 2021-01-14 19:23:59 +01:00
rustc_ast_passes Use Option::map_or instead of .map(..).unwrap_or(..) 2021-01-14 19:23:59 +01:00
rustc_ast_pretty ast: Remove some indirection layers from values in key-value attributes 2021-01-09 21:50:39 +03:00
rustc_attr Get rid of clean::Deprecation 2020-12-14 22:00:46 -05:00
rustc_builtin_macros resolve: Simplify built-in macro table 2021-01-10 14:48:47 +03:00
rustc_codegen_cranelift codegen_cranelift: Fix redundant semicolon warn 2021-01-16 07:17:13 +03:00
rustc_codegen_llvm Rollup merge of #81095 - LingMan:unwrap, r=oli-obk 2021-01-17 12:24:59 +00:00
rustc_codegen_ssa Auto merge of #81118 - ojeda:metadata-obj, r=nagisa 2021-01-20 07:15:40 +00:00
rustc_data_structures Add track_caller to .steal() 2021-01-17 12:27:20 -05:00
rustc_driver Rollup merge of #80944 - LingMan:map_or, r=nagisa 2021-01-15 18:26:14 +09:00
rustc_error_codes Rollup merge of #80614 - 1000teslas:issue-78938-fix, r=tmandry 2021-01-16 17:29:49 +00:00
rustc_errors Use Option::map_or instead of .map(..).unwrap_or(..) 2021-01-14 19:23:59 +01:00
rustc_expand Remove dead code 2021-01-17 12:45:48 +01:00
rustc_feature Feature-gate pointer and reference in intra-doc links 2021-01-17 15:27:35 -05:00
rustc_fs_util Optimize away a fs::metadata call. 2021-01-06 08:33:15 -08:00
rustc_graphviz remove redundant closures (clippy::redundant_closure) 2021-01-03 13:34:24 +01:00
rustc_hir resolve: Reject ambiguity built-in attr vs different built-in attr 2021-01-17 01:48:17 +03:00
rustc_hir_pretty Auto merge of #79328 - c410-f3r:hir-if, r=matthewjasper 2021-01-14 14:41:58 +00:00
rustc_incremental Auto merge of #80957 - tgnottingham:direct_serialize_depgraph, r=michaelwoerister 2021-01-19 19:36:41 +00:00
rustc_index Switch compiler/ to intra-doc links 2020-12-18 15:22:51 -05:00
rustc_infer Add suggestion for impl_candidates with E0283 2021-01-18 21:57:15 +09:00
rustc_interface Remove DepKind::CrateMetadata and pre-allocation of DepNodes 2021-01-12 11:22:57 -08:00
rustc_lexer Return EOF_CHAR constant instead of magic char. 2021-01-07 13:20:04 +01:00
rustc_lint Auto merge of #80679 - jackh726:predicate-kind-take2, r=lcnr 2021-01-17 20:49:11 +00:00
rustc_lint_defs Don't mark ineffective_unstable_trait_impl as an internal lint 2021-01-15 17:31:10 -05:00
rustc_llvm Use probe-stack=inline-asm in LLVM 11+ 2021-01-14 22:49:16 -05:00
rustc_macros Use Option::map_or instead of .map(..).unwrap_or(..) 2021-01-14 19:23:59 +01:00
rustc_metadata Impl EncodableWithShorthand for PredicateKind 2021-01-17 02:49:30 -05:00
rustc_middle Rollup merge of #81131 - pierwill:edit-rustc_middle-cast, r=varkor 2021-01-18 21:53:40 +10:00
rustc_mir Rollup merge of #81185 - osa1:fix_80742, r=oli-obk 2021-01-21 20:04:53 +09:00
rustc_mir_build Fix typo in simplify.rs 2021-01-18 20:52:10 +09:00
rustc_parse Rollup merge of #80944 - LingMan:map_or, r=nagisa 2021-01-15 18:26:14 +09:00
rustc_parse_format rustc_parse_format: Fix character indices in find_skips 2021-01-17 17:40:58 +03:00
rustc_passes Only inherit const stability for methods of impl const Trait blocks 2021-01-18 11:07:35 +00:00
rustc_plugin_impl Store ForeignItem in a side table. 2020-11-26 21:29:27 +01:00
rustc_privacy Review changes 2021-01-16 18:56:37 -05:00
rustc_query_system Auto merge of #80957 - tgnottingham:direct_serialize_depgraph, r=michaelwoerister 2021-01-19 19:36:41 +00:00
rustc_resolve Rollup merge of #81046 - rylev:unknown-external-crate, r=estebank 2021-01-21 20:04:45 +09:00
rustc_save_analysis Use Option::map_or instead of .map(..).unwrap_or(..) 2021-01-14 19:23:59 +01:00
rustc_serialize rustc_serialize: fix incorrect signed LEB128 decoding 2021-01-11 12:13:26 -08:00
rustc_session Auto merge of #81118 - ojeda:metadata-obj, r=nagisa 2021-01-20 07:15:40 +00:00
rustc_span Feature-gate pointer and reference in intra-doc links 2021-01-17 15:27:35 -05:00
rustc_symbol_mangling Rollup merge of #79968 - bjorn3:better_drop_glue_debuginfo, r=matthewjasper 2021-01-10 16:55:55 +09:00
rustc_target Rollup merge of #80662 - rxrbln:master, r=estebank 2021-01-13 03:20:15 +01:00
rustc_trait_selection Add suggestion for impl_candidates with E0283 2021-01-18 21:57:15 +09:00
rustc_traits Review changes 2021-01-16 18:56:37 -05:00
rustc_ty_utils Review changes 2021-01-16 18:56:37 -05:00
rustc_type_ir Fix typo in DebruijnIndex documentation 2020-12-12 16:13:06 +01:00
rustc_typeck Rollup merge of #81147 - estebank:drop-suggestion, r=varkor 2021-01-19 10:27:56 +01:00