about summary refs log tree commit diff
path: root/tests/ui/consts/too_generic_eval_ice.rs
blob: ff741cdcf20bc4a07315d17fc37215a6a28f3723 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//@ revisions: current next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

pub struct Foo<A, B>(A, B);

impl<A, B> Foo<A, B> {
    const HOST_SIZE: usize = std::mem::size_of::<B>();

    pub fn crash() -> bool {
        [5; Self::HOST_SIZE] == [6; 0]
        //[current]~^ ERROR constant expression depends on a generic parameter
        //[current]~| ERROR constant expression depends on a generic parameter
        //[current]~| ERROR constant expression depends on a generic parameter
        //[current]~| ERROR can't compare `[{integer}; Self::HOST_SIZE]` with `[{integer}; 0]`
        //[next]~^^^^^ ERROR type annotations needed
    }
}

fn main() {}