(root)/
gcc-13.2.0/
gcc/
testsuite/
gdc.test/
fail_compilation/
fail163.d
/*
TEST_OUTPUT:
---
fail_compilation/fail163.d(11): Error: cannot implicitly convert expression `q` of type `const(char)[]` to `char[]`
---
*/
void test1()
{
    char[] p;
    const(char)[] q;
    p = q;
}

/*
TEST_OUTPUT:
---
fail_compilation/fail163.d(24): Error: cannot implicitly convert expression `p` of type `const(int***)` to `const(int)***`
---
*/
void test2()
{
    const int*** p;
    const(int)*** cp;
    cp = p;
}

/*
TEST_OUTPUT:
---
fail_compilation/fail163.d(37): Error: cannot modify `const` expression `p`
---
*/
void test3()
{
    const(uint***) p;
    const(int)*** cp;
    p = cp;
}

/*
TEST_OUTPUT:
---
fail_compilation/fail163.d(50): Error: cannot implicitly convert expression `cp` of type `const(int)***[]` to `const(uint***)[]`
---
*/
void test4()
{
    const(uint***)[] p;
    const(int)***[] cp;
    p = cp;
}

/*
TEST_OUTPUT:
---
fail_compilation/fail163.d(63): Error: cannot modify `const` expression `*p`
---
*/
void test5()
{
    int x;
    const(int)* p = &x;
    *p = 3;
}

/*
TEST_OUTPUT:
---
fail_compilation/fail163.d(76): Error: cannot implicitly convert expression `& x` of type `int*` to `immutable(int)*`
fail_compilation/fail163.d(77): Error: cannot modify `immutable` expression `*p`
---
*/
void test6()
{
    int x;
    immutable(int)* p = &x;
    *p = 3;
}

/*
TEST_OUTPUT:
---
fail_compilation/fail163.d(89): Error: cannot implicitly convert expression `& x` of type `const(int)*` to `int*`
---
*/
void test7()
{
    const(int) x = 3;
    int* p = &x;
}