--| Copyright (c) 1993-2006 University of Southern California and contributors. --| All rights reserved. --| Your use of this work is governed under the terms of the GNU General --| Public License version 2. -- This is a test control file test_name generic-veen-sneak test_description After initial compilation, the type of an entity in a generic class is changed from `FOO [G]' (where G is the name of the formal parameter of the enclosing generic class) to `FOO [STRING], thereby introducing a VEEN error. When the system is recompiled, the compiler does not detect the error, but only if a generic generic constraint is also added to the single formal generic parameter of FOO. copy_sub Ace $TEST Ace define GENERIC_DERIVATION "TEST2 [G]" define GENERIC_HEADER "class TEST2 [G]" copy_raw test.e $CLUSTER test.e copy_sub test1.e $CLUSTER test1.e copy_sub test2.e $CLUSTER test2.e copy_raw test3.e $CLUSTER test3.e compile_melted compile_result ok define GENERIC_DERIVATION "TEST2 [STRING]" define GENERIC_HEADER "class TEST2 [G -> STRING]" copy_sub test1.e $CLUSTER test1.e copy_sub test2.e $CLUSTER test2.e compile_melted compile_result validity_error TEST VEEN define GENERIC_DERIVATION "TEST2 [G]" define GENERIC_HEADER "class TEST2 [G]" copy_sub test1.e $CLUSTER test1.e copy_sub test2.e $CLUSTER test2.e resume_compile compile_result ok test_end