diff options
| author | kennytm <kennytm@gmail.com> | 2018-12-23 00:07:34 +0800 |
|---|---|---|
| committer | kennytm <kennytm@gmail.com> | 2018-12-23 02:11:47 +0800 |
| commit | a92e21c21542dbc6fe0511b461008471d92b2e85 (patch) | |
| tree | 0ae2d8650ea5442874519ed4af563bb9579c6b16 /src/test | |
| parent | 2d6927e9ee8238066bf78b0b42c755ed8aff5d4b (diff) | |
| parent | e7e17f9d1b008a1f06ad8b4ef06c443b4b879bc4 (diff) | |
Rollup merge of #56909 - dlrobertson:fix_56762, r=estebank
static eval: Do not ICE on layout size overflow Layout size overflow and typeck eval errors are reported. Trigger a bug only when the eval error is strictly labeled as TooGeneric. Fixes: #56762
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/issues/issue-56762.rs | 18 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-56762.stderr | 4 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-56762.rs b/src/test/ui/issues/issue-56762.rs new file mode 100644 index 00000000000..97b66b2c7c9 --- /dev/null +++ b/src/test/ui/issues/issue-56762.rs @@ -0,0 +1,18 @@ +// only-x86_64 +const HUGE_SIZE: usize = !0usize / 8; + + +pub struct TooBigArray { + arr: [u8; HUGE_SIZE], +} + +impl TooBigArray { + pub const fn new() -> Self { + TooBigArray { arr: [0x00; HUGE_SIZE], } + } +} + +static MY_TOO_BIG_ARRAY_1: TooBigArray = TooBigArray::new(); +static MY_TOO_BIG_ARRAY_2: [u8; HUGE_SIZE] = [0x00; HUGE_SIZE]; + +fn main() { } diff --git a/src/test/ui/issues/issue-56762.stderr b/src/test/ui/issues/issue-56762.stderr new file mode 100644 index 00000000000..83d5dc62e61 --- /dev/null +++ b/src/test/ui/issues/issue-56762.stderr @@ -0,0 +1,4 @@ +error: the type `[u8; 2305843009213693951]` is too big for the current architecture + +error: aborting due to previous error + |
