diff options
| author | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2019-11-10 11:15:34 +0100 |
|---|---|---|
| committer | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2019-11-10 11:19:55 +0100 |
| commit | 39fb82082042040863a958b1e246ecb5ef5cefdf (patch) | |
| tree | 8151ccb63cb57b0f6468e99308be9b77b79b0315 | |
| parent | 5a5027519a4a634baa6cde5b698b907d27fbe6b3 (diff) | |
| download | rust-39fb82082042040863a958b1e246ecb5ef5cefdf.tar.gz rust-39fb82082042040863a958b1e246ecb5ef5cefdf.zip | |
Undo an assert causing an ICE until we fix the problem properly
| -rw-r--r-- | src/librustc_target/abi/mod.rs | 6 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-65462.rs | 15 |
2 files changed, 16 insertions, 5 deletions
diff --git a/src/librustc_target/abi/mod.rs b/src/librustc_target/abi/mod.rs index a19bb6807f1..2d7e05037ba 100644 --- a/src/librustc_target/abi/mod.rs +++ b/src/librustc_target/abi/mod.rs @@ -694,11 +694,7 @@ impl FieldPlacement { pub fn offset(&self, i: usize) -> Size { match *self { - FieldPlacement::Union(count) => { - assert!(i < count, - "Tried to access field {} of union with {} fields", i, count); - Size::ZERO - }, + FieldPlacement::Union(_) => Size::ZERO, FieldPlacement::Array { stride, count } => { let i = i as u64; assert!(i < count); diff --git a/src/test/ui/issues/issue-65462.rs b/src/test/ui/issues/issue-65462.rs new file mode 100644 index 00000000000..8c39ea531d2 --- /dev/null +++ b/src/test/ui/issues/issue-65462.rs @@ -0,0 +1,15 @@ +// build-pass + +enum Empty {} +enum Enum { + Empty( Empty ) +} + +fn foobar() -> Option< Enum > { + let value: Option< Empty > = None; + Some( Enum::Empty( value? ) ) +} + +fn main() { + foobar(); +} |
