Files
mercury/tests/hard_coded/string_alignment_bug.exp
Fergus Henderson f6a879896d Fix a bug where copy/2 was returning bogus data when copying string literals.
Estimated hours taken: 2

Fix a bug where copy/2 was returning bogus data when copying string literals.

runtime/mercury_deep_copy_body.h:
	Change the code so that it doesn't assume that string literals
	must be aligned, since currently they aren't.

tests/hard_coded/Mmakefile:
tests/hard_coded/string_alignment_bug.m:
tests/hard_coded/string_alignment_bug.exp:
	Add a regression test.
1999-03-24 04:22:18 +00:00

16 lines
22 KiB
Plaintext

Current global store:
empty
Adding `Tiles': three(3 - 1, tile(plain, []), 6 - 3, tile(plain, []), two(1 - 5, tile(plain, []), two(0 - 7, tile(plain, []), two(0 - 3, tile(plain, []), two(0 - 1, tile(plain, []), two(0 - 0, tile(plain, []), empty, empty), two(0 - 2, tile(plain, []), empty, empty)), two(0 - 5, tile(plain, []), two(0 - 4, tile(plain, []), empty, empty), two(0 - 6, tile(plain, []), empty, empty))), two(1 - 1, tile(plain, []), two(0 - 9, tile(plain, []), two(0 - 8, tile(plain, []), empty, empty), two(1 - 0, tile(plain, []), empty, empty)), two(1 - 3, tile(plain, []), two(1 - 2, tile(plain, []), empty, empty), two(1 - 4, tile(plain, []), empty, empty)))), two(2 - 3, tile(plain, []), two(1 - 9, tile(plain, []), two(1 - 7, tile(plain, []), two(1 - 6, tile(plain, []), empty, empty), two(1 - 8, tile(plain, []), empty, empty)), two(2 - 1, tile(plain, []), two(2 - 0, tile(plain, []), empty, empty), two(2 - 2, tile(plain, []), empty, empty))), two(2 - 7, tile(plain, []), two(2 - 5, tile(plain, []), two(2 - 4, tile(plain, []), empty, empty), two(2 - 6, tile(plain, []), empty, empty)), two(2 - 9, tile(plain, []), two(2 - 8, tile(plain, []), empty, empty), two(3 - 0, tile(plain, []), empty, empty))))), two(4 - 7, tile(plain, []), two(3 - 9, tile(plain, []), two(3 - 5, tile(plain, []), two(3 - 3, tile(plain, []), two(3 - 2, tile(plain, []), empty, empty), two(3 - 4, tile(plain, []), empty, empty)), two(3 - 7, tile(plain, []), two(3 - 6, tile(plain, []), empty, empty), two(3 - 8, tile(plain, []), empty, empty))), two(4 - 3, tile(plain, []), two(4 - 1, tile(plain, []), two(4 - 0, tile(plain, []), empty, empty), two(4 - 2, tile(plain, []), empty, empty)), two(4 - 5, tile(plain, []), two(4 - 4, tile(plain, []), empty, empty), two(4 - 6, tile(plain, []), empty, empty)))), two(5 - 5, tile(plain, []), two(5 - 1, tile(plain, []), two(4 - 9, tile(plain, []), two(4 - 8, tile(plain, []), empty, empty), two(5 - 0, tile(plain, []), empty, empty)), two(5 - 3, tile(plain, []), two(5 - 2, tile(plain, []), empty, empty), two(5 - 4, tile(plain, []), empty, empty))), two(5 - 9, tile(plain, []), two(5 - 7, tile(plain, []), two(5 - 6, tile(plain, []), empty, empty), two(5 - 8, tile(plain, []), empty, empty)), two(6 - 1, tile(plain, []), two(6 - 0, tile(plain, []), empty, empty), two(6 - 2, tile(plain, []), empty, empty))))), two(7 - 9, tile(plain, []), two(7 - 1, tile(plain, []), two(6 - 7, tile(plain, []), two(6 - 5, tile(plain, []), two(6 - 4, tile(plain, []), empty, empty), two(6 - 6, tile(plain, []), empty, empty)), two(6 - 9, tile(plain, []), two(6 - 8, tile(plain, []), empty, empty), two(7 - 0, tile(plain, []), empty, empty))), two(7 - 5, tile(plain, []), two(7 - 3, tile(plain, []), two(7 - 2, tile(plain, []), empty, empty), two(7 - 4, tile(plain, []), empty, empty)), two(7 - 7, tile(plain, []), two(7 - 6, tile(plain, []), empty, empty), two(7 - 8, tile(plain, []), empty, empty)))), two(8 - 7, tile(plain, []), two(8 - 3, tile(plain, []), two(8 - 1, tile(plain, []), two(8 - 0, tile(plain, []), empty, empty), two(8 - 2, tile(plain, []), empty, empty)), two(8 - 5, tile(plain, []), two(8 - 4, tile(plain, []), empty, empty), two(8 - 6, tile(plain, []), empty, empty))), two(9 - 1, tile(plain, []), two(8 - 9, tile(plain, []), two(8 - 8, tile(plain, []), empty, empty), two(9 - 0, tile(plain, []), empty, empty)), four(9 - 3, tile(plain, []), 9 - 5, tile(plain, []), 9 - 7, tile(plain, []), two(9 - 2, tile(plain, []), empty, empty), two(9 - 4, tile(plain, []), empty, empty), two(9 - 6, tile(plain, []), empty, empty), three(9 - 8, tile(plain, []), 9 - 9, tile(plain, []), empty, empty, empty))))))
New global store:
two("Tiles", univ(three(3 - 1, tile(plain, []), 6 - 3, tile(plain, []), two(1 - 5, tile(plain, []), two(0 - 7, tile(plain, []), two(0 - 3, tile(plain, []), two(0 - 1, tile(plain, []), two(0 - 0, tile(plain, []), empty, empty), two(0 - 2, tile(plain, []), empty, empty)), two(0 - 5, tile(plain, []), two(0 - 4, tile(plain, []), empty, empty), two(0 - 6, tile(plain, []), empty, empty))), two(1 - 1, tile(plain, []), two(0 - 9, tile(plain, []), two(0 - 8, tile(plain, []), empty, empty), two(1 - 0, tile(plain, []), empty, empty)), two(1 - 3, tile(plain, []), two(1 - 2, tile(plain, []), empty, empty), two(1 - 4, tile(plain, []), empty, empty)))), two(2 - 3, tile(plain, []), two(1 - 9, tile(plain, []), two(1 - 7, tile(plain, []), two(1 - 6, tile(plain, []), empty, empty), two(1 - 8, tile(plain, []), empty, empty)), two(2 - 1, tile(plain, []), two(2 - 0, tile(plain, []), empty, empty), two(2 - 2, tile(plain, []), empty, empty))), two(2 - 7, tile(plain, []), two(2 - 5, tile(plain, []), two(2 - 4, tile(plain, []), empty, empty), two(2 - 6, tile(plain, []), empty, empty)), two(2 - 9, tile(plain, []), two(2 - 8, tile(plain, []), empty, empty), two(3 - 0, tile(plain, []), empty, empty))))), two(4 - 7, tile(plain, []), two(3 - 9, tile(plain, []), two(3 - 5, tile(plain, []), two(3 - 3, tile(plain, []), two(3 - 2, tile(plain, []), empty, empty), two(3 - 4, tile(plain, []), empty, empty)), two(3 - 7, tile(plain, []), two(3 - 6, tile(plain, []), empty, empty), two(3 - 8, tile(plain, []), empty, empty))), two(4 - 3, tile(plain, []), two(4 - 1, tile(plain, []), two(4 - 0, tile(plain, []), empty, empty), two(4 - 2, tile(plain, []), empty, empty)), two(4 - 5, tile(plain, []), two(4 - 4, tile(plain, []), empty, empty), two(4 - 6, tile(plain, []), empty, empty)))), two(5 - 5, tile(plain, []), two(5 - 1, tile(plain, []), two(4 - 9, tile(plain, []), two(4 - 8, tile(plain, []), empty, empty), two(5 - 0, tile(plain, []), empty, empty)), two(5 - 3, tile(plain, []), two(5 - 2, tile(plain, []), empty, empty), two(5 - 4, tile(plain, []), empty, empty))), two(5 - 9, tile(plain, []), two(5 - 7, tile(plain, []), two(5 - 6, tile(plain, []), empty, empty), two(5 - 8, tile(plain, []), empty, empty)), two(6 - 1, tile(plain, []), two(6 - 0, tile(plain, []), empty, empty), two(6 - 2, tile(plain, []), empty, empty))))), two(7 - 9, tile(plain, []), two(7 - 1, tile(plain, []), two(6 - 7, tile(plain, []), two(6 - 5, tile(plain, []), two(6 - 4, tile(plain, []), empty, empty), two(6 - 6, tile(plain, []), empty, empty)), two(6 - 9, tile(plain, []), two(6 - 8, tile(plain, []), empty, empty), two(7 - 0, tile(plain, []), empty, empty))), two(7 - 5, tile(plain, []), two(7 - 3, tile(plain, []), two(7 - 2, tile(plain, []), empty, empty), two(7 - 4, tile(plain, []), empty, empty)), two(7 - 7, tile(plain, []), two(7 - 6, tile(plain, []), empty, empty), two(7 - 8, tile(plain, []), empty, empty)))), two(8 - 7, tile(plain, []), two(8 - 3, tile(plain, []), two(8 - 1, tile(plain, []), two(8 - 0, tile(plain, []), empty, empty), two(8 - 2, tile(plain, []), empty, empty)), two(8 - 5, tile(plain, []), two(8 - 4, tile(plain, []), empty, empty), two(8 - 6, tile(plain, []), empty, empty))), two(9 - 1, tile(plain, []), two(8 - 9, tile(plain, []), two(8 - 8, tile(plain, []), empty, empty), two(9 - 0, tile(plain, []), empty, empty)), four(9 - 3, tile(plain, []), 9 - 5, tile(plain, []), 9 - 7, tile(plain, []), two(9 - 2, tile(plain, []), empty, empty), two(9 - 4, tile(plain, []), empty, empty), two(9 - 6, tile(plain, []), empty, empty), three(9 - 8, tile(plain, []), 9 - 9, tile(plain, []), empty, empty, empty)))))) : tree234:tree234(std_util:pair(int, int), string_alignment_bug:tile)), empty, empty)
Current global store:
two("Tiles", univ(three(3 - 1, tile(plain, []), 6 - 3, tile(plain, []), two(1 - 5, tile(plain, []), two(0 - 7, tile(plain, []), two(0 - 3, tile(plain, []), two(0 - 1, tile(plain, []), two(0 - 0, tile(plain, []), empty, empty), two(0 - 2, tile(plain, []), empty, empty)), two(0 - 5, tile(plain, []), two(0 - 4, tile(plain, []), empty, empty), two(0 - 6, tile(plain, []), empty, empty))), two(1 - 1, tile(plain, []), two(0 - 9, tile(plain, []), two(0 - 8, tile(plain, []), empty, empty), two(1 - 0, tile(plain, []), empty, empty)), two(1 - 3, tile(plain, []), two(1 - 2, tile(plain, []), empty, empty), two(1 - 4, tile(plain, []), empty, empty)))), two(2 - 3, tile(plain, []), two(1 - 9, tile(plain, []), two(1 - 7, tile(plain, []), two(1 - 6, tile(plain, []), empty, empty), two(1 - 8, tile(plain, []), empty, empty)), two(2 - 1, tile(plain, []), two(2 - 0, tile(plain, []), empty, empty), two(2 - 2, tile(plain, []), empty, empty))), two(2 - 7, tile(plain, []), two(2 - 5, tile(plain, []), two(2 - 4, tile(plain, []), empty, empty), two(2 - 6, tile(plain, []), empty, empty)), two(2 - 9, tile(plain, []), two(2 - 8, tile(plain, []), empty, empty), two(3 - 0, tile(plain, []), empty, empty))))), two(4 - 7, tile(plain, []), two(3 - 9, tile(plain, []), two(3 - 5, tile(plain, []), two(3 - 3, tile(plain, []), two(3 - 2, tile(plain, []), empty, empty), two(3 - 4, tile(plain, []), empty, empty)), two(3 - 7, tile(plain, []), two(3 - 6, tile(plain, []), empty, empty), two(3 - 8, tile(plain, []), empty, empty))), two(4 - 3, tile(plain, []), two(4 - 1, tile(plain, []), two(4 - 0, tile(plain, []), empty, empty), two(4 - 2, tile(plain, []), empty, empty)), two(4 - 5, tile(plain, []), two(4 - 4, tile(plain, []), empty, empty), two(4 - 6, tile(plain, []), empty, empty)))), two(5 - 5, tile(plain, []), two(5 - 1, tile(plain, []), two(4 - 9, tile(plain, []), two(4 - 8, tile(plain, []), empty, empty), two(5 - 0, tile(plain, []), empty, empty)), two(5 - 3, tile(plain, []), two(5 - 2, tile(plain, []), empty, empty), two(5 - 4, tile(plain, []), empty, empty))), two(5 - 9, tile(plain, []), two(5 - 7, tile(plain, []), two(5 - 6, tile(plain, []), empty, empty), two(5 - 8, tile(plain, []), empty, empty)), two(6 - 1, tile(plain, []), two(6 - 0, tile(plain, []), empty, empty), two(6 - 2, tile(plain, []), empty, empty))))), two(7 - 9, tile(plain, []), two(7 - 1, tile(plain, []), two(6 - 7, tile(plain, []), two(6 - 5, tile(plain, []), two(6 - 4, tile(plain, []), empty, empty), two(6 - 6, tile(plain, []), empty, empty)), two(6 - 9, tile(plain, []), two(6 - 8, tile(plain, []), empty, empty), two(7 - 0, tile(plain, []), empty, empty))), two(7 - 5, tile(plain, []), two(7 - 3, tile(plain, []), two(7 - 2, tile(plain, []), empty, empty), two(7 - 4, tile(plain, []), empty, empty)), two(7 - 7, tile(plain, []), two(7 - 6, tile(plain, []), empty, empty), two(7 - 8, tile(plain, []), empty, empty)))), two(8 - 7, tile(plain, []), two(8 - 3, tile(plain, []), two(8 - 1, tile(plain, []), two(8 - 0, tile(plain, []), empty, empty), two(8 - 2, tile(plain, []), empty, empty)), two(8 - 5, tile(plain, []), two(8 - 4, tile(plain, []), empty, empty), two(8 - 6, tile(plain, []), empty, empty))), two(9 - 1, tile(plain, []), two(8 - 9, tile(plain, []), two(8 - 8, tile(plain, []), empty, empty), two(9 - 0, tile(plain, []), empty, empty)), four(9 - 3, tile(plain, []), 9 - 5, tile(plain, []), 9 - 7, tile(plain, []), two(9 - 2, tile(plain, []), empty, empty), two(9 - 4, tile(plain, []), empty, empty), two(9 - 6, tile(plain, []), empty, empty), three(9 - 8, tile(plain, []), 9 - 9, tile(plain, []), empty, empty, empty)))))) : tree234:tree234(std_util:pair(int, int), string_alignment_bug:tile)), empty, empty)
Adding `Selection': []
New global store:
three("Selection", univ([] : list:list(std_util:pair(int, int))), "Tiles", univ(three(3 - 1, tile(plain, []), 6 - 3, tile(plain, []), two(1 - 5, tile(plain, []), two(0 - 7, tile(plain, []), two(0 - 3, tile(plain, []), two(0 - 1, tile(plain, []), two(0 - 0, tile(plain, []), empty, empty), two(0 - 2, tile(plain, []), empty, empty)), two(0 - 5, tile(plain, []), two(0 - 4, tile(plain, []), empty, empty), two(0 - 6, tile(plain, []), empty, empty))), two(1 - 1, tile(plain, []), two(0 - 9, tile(plain, []), two(0 - 8, tile(plain, []), empty, empty), two(1 - 0, tile(plain, []), empty, empty)), two(1 - 3, tile(plain, []), two(1 - 2, tile(plain, []), empty, empty), two(1 - 4, tile(plain, []), empty, empty)))), two(2 - 3, tile(plain, []), two(1 - 9, tile(plain, []), two(1 - 7, tile(plain, []), two(1 - 6, tile(plain, []), empty, empty), two(1 - 8, tile(plain, []), empty, empty)), two(2 - 1, tile(plain, []), two(2 - 0, tile(plain, []), empty, empty), two(2 - 2, tile(plain, []), empty, empty))), two(2 - 7, tile(plain, []), two(2 - 5, tile(plain, []), two(2 - 4, tile(plain, []), empty, empty), two(2 - 6, tile(plain, []), empty, empty)), two(2 - 9, tile(plain, []), two(2 - 8, tile(plain, []), empty, empty), two(3 - 0, tile(plain, []), empty, empty))))), two(4 - 7, tile(plain, []), two(3 - 9, tile(plain, []), two(3 - 5, tile(plain, []), two(3 - 3, tile(plain, []), two(3 - 2, tile(plain, []), empty, empty), two(3 - 4, tile(plain, []), empty, empty)), two(3 - 7, tile(plain, []), two(3 - 6, tile(plain, []), empty, empty), two(3 - 8, tile(plain, []), empty, empty))), two(4 - 3, tile(plain, []), two(4 - 1, tile(plain, []), two(4 - 0, tile(plain, []), empty, empty), two(4 - 2, tile(plain, []), empty, empty)), two(4 - 5, tile(plain, []), two(4 - 4, tile(plain, []), empty, empty), two(4 - 6, tile(plain, []), empty, empty)))), two(5 - 5, tile(plain, []), two(5 - 1, tile(plain, []), two(4 - 9, tile(plain, []), two(4 - 8, tile(plain, []), empty, empty), two(5 - 0, tile(plain, []), empty, empty)), two(5 - 3, tile(plain, []), two(5 - 2, tile(plain, []), empty, empty), two(5 - 4, tile(plain, []), empty, empty))), two(5 - 9, tile(plain, []), two(5 - 7, tile(plain, []), two(5 - 6, tile(plain, []), empty, empty), two(5 - 8, tile(plain, []), empty, empty)), two(6 - 1, tile(plain, []), two(6 - 0, tile(plain, []), empty, empty), two(6 - 2, tile(plain, []), empty, empty))))), two(7 - 9, tile(plain, []), two(7 - 1, tile(plain, []), two(6 - 7, tile(plain, []), two(6 - 5, tile(plain, []), two(6 - 4, tile(plain, []), empty, empty), two(6 - 6, tile(plain, []), empty, empty)), two(6 - 9, tile(plain, []), two(6 - 8, tile(plain, []), empty, empty), two(7 - 0, tile(plain, []), empty, empty))), two(7 - 5, tile(plain, []), two(7 - 3, tile(plain, []), two(7 - 2, tile(plain, []), empty, empty), two(7 - 4, tile(plain, []), empty, empty)), two(7 - 7, tile(plain, []), two(7 - 6, tile(plain, []), empty, empty), two(7 - 8, tile(plain, []), empty, empty)))), two(8 - 7, tile(plain, []), two(8 - 3, tile(plain, []), two(8 - 1, tile(plain, []), two(8 - 0, tile(plain, []), empty, empty), two(8 - 2, tile(plain, []), empty, empty)), two(8 - 5, tile(plain, []), two(8 - 4, tile(plain, []), empty, empty), two(8 - 6, tile(plain, []), empty, empty))), two(9 - 1, tile(plain, []), two(8 - 9, tile(plain, []), two(8 - 8, tile(plain, []), empty, empty), two(9 - 0, tile(plain, []), empty, empty)), four(9 - 3, tile(plain, []), 9 - 5, tile(plain, []), 9 - 7, tile(plain, []), two(9 - 2, tile(plain, []), empty, empty), two(9 - 4, tile(plain, []), empty, empty), two(9 - 6, tile(plain, []), empty, empty), three(9 - 8, tile(plain, []), 9 - 9, tile(plain, []), empty, empty, empty)))))) : tree234:tree234(std_util:pair(int, int), string_alignment_bug:tile)), empty, empty, empty)
Current global store:
three("Selection", univ([] : list:list(std_util:pair(int, int))), "Tiles", univ(three(3 - 1, tile(plain, []), 6 - 3, tile(plain, []), two(1 - 5, tile(plain, []), two(0 - 7, tile(plain, []), two(0 - 3, tile(plain, []), two(0 - 1, tile(plain, []), two(0 - 0, tile(plain, []), empty, empty), two(0 - 2, tile(plain, []), empty, empty)), two(0 - 5, tile(plain, []), two(0 - 4, tile(plain, []), empty, empty), two(0 - 6, tile(plain, []), empty, empty))), two(1 - 1, tile(plain, []), two(0 - 9, tile(plain, []), two(0 - 8, tile(plain, []), empty, empty), two(1 - 0, tile(plain, []), empty, empty)), two(1 - 3, tile(plain, []), two(1 - 2, tile(plain, []), empty, empty), two(1 - 4, tile(plain, []), empty, empty)))), two(2 - 3, tile(plain, []), two(1 - 9, tile(plain, []), two(1 - 7, tile(plain, []), two(1 - 6, tile(plain, []), empty, empty), two(1 - 8, tile(plain, []), empty, empty)), two(2 - 1, tile(plain, []), two(2 - 0, tile(plain, []), empty, empty), two(2 - 2, tile(plain, []), empty, empty))), two(2 - 7, tile(plain, []), two(2 - 5, tile(plain, []), two(2 - 4, tile(plain, []), empty, empty), two(2 - 6, tile(plain, []), empty, empty)), two(2 - 9, tile(plain, []), two(2 - 8, tile(plain, []), empty, empty), two(3 - 0, tile(plain, []), empty, empty))))), two(4 - 7, tile(plain, []), two(3 - 9, tile(plain, []), two(3 - 5, tile(plain, []), two(3 - 3, tile(plain, []), two(3 - 2, tile(plain, []), empty, empty), two(3 - 4, tile(plain, []), empty, empty)), two(3 - 7, tile(plain, []), two(3 - 6, tile(plain, []), empty, empty), two(3 - 8, tile(plain, []), empty, empty))), two(4 - 3, tile(plain, []), two(4 - 1, tile(plain, []), two(4 - 0, tile(plain, []), empty, empty), two(4 - 2, tile(plain, []), empty, empty)), two(4 - 5, tile(plain, []), two(4 - 4, tile(plain, []), empty, empty), two(4 - 6, tile(plain, []), empty, empty)))), two(5 - 5, tile(plain, []), two(5 - 1, tile(plain, []), two(4 - 9, tile(plain, []), two(4 - 8, tile(plain, []), empty, empty), two(5 - 0, tile(plain, []), empty, empty)), two(5 - 3, tile(plain, []), two(5 - 2, tile(plain, []), empty, empty), two(5 - 4, tile(plain, []), empty, empty))), two(5 - 9, tile(plain, []), two(5 - 7, tile(plain, []), two(5 - 6, tile(plain, []), empty, empty), two(5 - 8, tile(plain, []), empty, empty)), two(6 - 1, tile(plain, []), two(6 - 0, tile(plain, []), empty, empty), two(6 - 2, tile(plain, []), empty, empty))))), two(7 - 9, tile(plain, []), two(7 - 1, tile(plain, []), two(6 - 7, tile(plain, []), two(6 - 5, tile(plain, []), two(6 - 4, tile(plain, []), empty, empty), two(6 - 6, tile(plain, []), empty, empty)), two(6 - 9, tile(plain, []), two(6 - 8, tile(plain, []), empty, empty), two(7 - 0, tile(plain, []), empty, empty))), two(7 - 5, tile(plain, []), two(7 - 3, tile(plain, []), two(7 - 2, tile(plain, []), empty, empty), two(7 - 4, tile(plain, []), empty, empty)), two(7 - 7, tile(plain, []), two(7 - 6, tile(plain, []), empty, empty), two(7 - 8, tile(plain, []), empty, empty)))), two(8 - 7, tile(plain, []), two(8 - 3, tile(plain, []), two(8 - 1, tile(plain, []), two(8 - 0, tile(plain, []), empty, empty), two(8 - 2, tile(plain, []), empty, empty)), two(8 - 5, tile(plain, []), two(8 - 4, tile(plain, []), empty, empty), two(8 - 6, tile(plain, []), empty, empty))), two(9 - 1, tile(plain, []), two(8 - 9, tile(plain, []), two(8 - 8, tile(plain, []), empty, empty), two(9 - 0, tile(plain, []), empty, empty)), four(9 - 3, tile(plain, []), 9 - 5, tile(plain, []), 9 - 7, tile(plain, []), two(9 - 2, tile(plain, []), empty, empty), two(9 - 4, tile(plain, []), empty, empty), two(9 - 6, tile(plain, []), empty, empty), three(9 - 8, tile(plain, []), 9 - 9, tile(plain, []), empty, empty, empty)))))) : tree234:tree234(std_util:pair(int, int), string_alignment_bug:tile)), empty, empty, empty)
Adding `CurrentFile': no
New global store:
four("CurrentFile", univ(no : std_util:maybe(string)), "Selection", univ([] : list:list(std_util:pair(int, int))), "Tiles", univ(three(3 - 1, tile(plain, []), 6 - 3, tile(plain, []), two(1 - 5, tile(plain, []), two(0 - 7, tile(plain, []), two(0 - 3, tile(plain, []), two(0 - 1, tile(plain, []), two(0 - 0, tile(plain, []), empty, empty), two(0 - 2, tile(plain, []), empty, empty)), two(0 - 5, tile(plain, []), two(0 - 4, tile(plain, []), empty, empty), two(0 - 6, tile(plain, []), empty, empty))), two(1 - 1, tile(plain, []), two(0 - 9, tile(plain, []), two(0 - 8, tile(plain, []), empty, empty), two(1 - 0, tile(plain, []), empty, empty)), two(1 - 3, tile(plain, []), two(1 - 2, tile(plain, []), empty, empty), two(1 - 4, tile(plain, []), empty, empty)))), two(2 - 3, tile(plain, []), two(1 - 9, tile(plain, []), two(1 - 7, tile(plain, []), two(1 - 6, tile(plain, []), empty, empty), two(1 - 8, tile(plain, []), empty, empty)), two(2 - 1, tile(plain, []), two(2 - 0, tile(plain, []), empty, empty), two(2 - 2, tile(plain, []), empty, empty))), two(2 - 7, tile(plain, []), two(2 - 5, tile(plain, []), two(2 - 4, tile(plain, []), empty, empty), two(2 - 6, tile(plain, []), empty, empty)), two(2 - 9, tile(plain, []), two(2 - 8, tile(plain, []), empty, empty), two(3 - 0, tile(plain, []), empty, empty))))), two(4 - 7, tile(plain, []), two(3 - 9, tile(plain, []), two(3 - 5, tile(plain, []), two(3 - 3, tile(plain, []), two(3 - 2, tile(plain, []), empty, empty), two(3 - 4, tile(plain, []), empty, empty)), two(3 - 7, tile(plain, []), two(3 - 6, tile(plain, []), empty, empty), two(3 - 8, tile(plain, []), empty, empty))), two(4 - 3, tile(plain, []), two(4 - 1, tile(plain, []), two(4 - 0, tile(plain, []), empty, empty), two(4 - 2, tile(plain, []), empty, empty)), two(4 - 5, tile(plain, []), two(4 - 4, tile(plain, []), empty, empty), two(4 - 6, tile(plain, []), empty, empty)))), two(5 - 5, tile(plain, []), two(5 - 1, tile(plain, []), two(4 - 9, tile(plain, []), two(4 - 8, tile(plain, []), empty, empty), two(5 - 0, tile(plain, []), empty, empty)), two(5 - 3, tile(plain, []), two(5 - 2, tile(plain, []), empty, empty), two(5 - 4, tile(plain, []), empty, empty))), two(5 - 9, tile(plain, []), two(5 - 7, tile(plain, []), two(5 - 6, tile(plain, []), empty, empty), two(5 - 8, tile(plain, []), empty, empty)), two(6 - 1, tile(plain, []), two(6 - 0, tile(plain, []), empty, empty), two(6 - 2, tile(plain, []), empty, empty))))), two(7 - 9, tile(plain, []), two(7 - 1, tile(plain, []), two(6 - 7, tile(plain, []), two(6 - 5, tile(plain, []), two(6 - 4, tile(plain, []), empty, empty), two(6 - 6, tile(plain, []), empty, empty)), two(6 - 9, tile(plain, []), two(6 - 8, tile(plain, []), empty, empty), two(7 - 0, tile(plain, []), empty, empty))), two(7 - 5, tile(plain, []), two(7 - 3, tile(plain, []), two(7 - 2, tile(plain, []), empty, empty), two(7 - 4, tile(plain, []), empty, empty)), two(7 - 7, tile(plain, []), two(7 - 6, tile(plain, []), empty, empty), two(7 - 8, tile(plain, []), empty, empty)))), two(8 - 7, tile(plain, []), two(8 - 3, tile(plain, []), two(8 - 1, tile(plain, []), two(8 - 0, tile(plain, []), empty, empty), two(8 - 2, tile(plain, []), empty, empty)), two(8 - 5, tile(plain, []), two(8 - 4, tile(plain, []), empty, empty), two(8 - 6, tile(plain, []), empty, empty))), two(9 - 1, tile(plain, []), two(8 - 9, tile(plain, []), two(8 - 8, tile(plain, []), empty, empty), two(9 - 0, tile(plain, []), empty, empty)), four(9 - 3, tile(plain, []), 9 - 5, tile(plain, []), 9 - 7, tile(plain, []), two(9 - 2, tile(plain, []), empty, empty), two(9 - 4, tile(plain, []), empty, empty), two(9 - 6, tile(plain, []), empty, empty), three(9 - 8, tile(plain, []), 9 - 9, tile(plain, []), empty, empty, empty)))))) : tree234:tree234(std_util:pair(int, int), string_alignment_bug:tile)), empty, empty, empty, empty)