Skip to content

Commit

Permalink
[Refactoring] merge test cases to reduce files
Browse files Browse the repository at this point in the history
  • Loading branch information
9rnsr committed Jun 7, 2014
1 parent fe06bf7 commit 39d182e
Show file tree
Hide file tree
Showing 26 changed files with 262 additions and 348 deletions.
44 changes: 44 additions & 0 deletions test/fail_compilation/diag8777.d
@@ -0,0 +1,44 @@
/*
TEST_OUTPUT:
---
fail_compilation/diag8777.d(12): Error: constructor diag8777.Foo1.this missing initializer for immutable field x
fail_compilation/diag8777.d(12): Error: constructor diag8777.Foo1.this missing initializer for const field y
---
*/
class Foo1
{
immutable int[5] x;
const int[5] y;
this() {}
}

/*
TEST_OUTPUT:
---
fail_compilation/diag8777.d(25): Error: cannot modify immutable expression x
fail_compilation/diag8777.d(28): Error: cannot modify const expression y
---
*/
void test2()
{
immutable int x;
x = 1;

const int y;
y = 1;
}

/*
TEST_OUTPUT:
---
fail_compilation/diag8777.d(42): Error: cannot remove key from immutable associative array hashx
fail_compilation/diag8777.d(43): Error: cannot remove key from const associative array hashy
---
*/
immutable(int[int]) hashx;
const(int[int]) hashy;
void test3()
{
hashx.remove(1);
hashy.remove(1);
}
12 changes: 0 additions & 12 deletions test/fail_compilation/diag8777a.d

This file was deleted.

12 changes: 0 additions & 12 deletions test/fail_compilation/diag8777b.d

This file was deleted.

13 changes: 0 additions & 13 deletions test/fail_compilation/diag8777c.d

This file was deleted.

13 changes: 0 additions & 13 deletions test/fail_compilation/diag8777d.d

This file was deleted.

14 changes: 0 additions & 14 deletions test/fail_compilation/diag8777e.d

This file was deleted.

14 changes: 0 additions & 14 deletions test/fail_compilation/diag8777f.d

This file was deleted.

84 changes: 80 additions & 4 deletions test/fail_compilation/fail163.d
@@ -1,14 +1,90 @@
/*
TEST_OUTPUT:
---
fail_compilation/fail163.d(13): Error: cannot implicitly convert expression (q) of type const(char)[] to char[]
fail_compilation/fail163.d(11): Error: cannot implicitly convert expression (q) of type const(char)[] to char[]
---
*/

void foo()
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;
}
13 changes: 0 additions & 13 deletions test/fail_compilation/fail164.d

This file was deleted.

14 changes: 0 additions & 14 deletions test/fail_compilation/fail165.d

This file was deleted.

13 changes: 0 additions & 13 deletions test/fail_compilation/fail166.d

This file was deleted.

13 changes: 0 additions & 13 deletions test/fail_compilation/fail167.d

This file was deleted.

14 changes: 0 additions & 14 deletions test/fail_compilation/fail168.d

This file was deleted.

12 changes: 0 additions & 12 deletions test/fail_compilation/fail171.d

This file was deleted.

19 changes: 15 additions & 4 deletions test/fail_compilation/fail172.d
@@ -1,8 +1,10 @@
/*
TEST_OUTPUT:
---
fail_compilation/fail172.d(17): Error: can only initialize const member x inside constructor
fail_compilation/fail172.d(20): Error: can only initialize const member x inside constructor
fail_compilation/fail172.d(25): Error: can only initialize const member x inside constructor
fail_compilation/fail172.d(26): Error: can only initialize const member x inside constructor
fail_compilation/fail172.d(30): Error: can only initialize const member x inside constructor
fail_compilation/fail172.d(31): Error: can only initialize const member x inside constructor
---
*/

Expand All @@ -11,11 +13,20 @@ class C
int x;
}

struct S
{
int x;
}

void main()
{
const(C) c1 = new C();
const C c2 = new C();
c1.x = 3;

const C c2 = new C();
c2.x = 3;

const(S) s1;
const S s2;
s1.x = 3;
s2.x = 3;
}
21 changes: 0 additions & 21 deletions test/fail_compilation/fail174.d

This file was deleted.

10 changes: 8 additions & 2 deletions test/fail_compilation/fail176.d
@@ -1,14 +1,20 @@
/*
TEST_OUTPUT:
---
fail_compilation/fail176.d(13): Error: cannot modify immutable expression b[1]
fail_compilation/fail176.d(13): Error: cannot modify immutable expression a[1]
fail_compilation/fail176.d(16): Error: cannot modify immutable expression b[1]
fail_compilation/fail176.d(19): Error: cannot modify const expression c[1]
---
*/

void foo()
{
auto a = "abc";
a[1] = 'd';

immutable char[3] b = "abc";
//const char[3] b = "abc";
b[1] = 'd';

const char[3] c = "abc";
c[1] = 'd';
}

0 comments on commit 39d182e

Please sign in to comment.