8. At a computer system, the computer system including processor and system memory, the computer system including a just-in-time compiler for compiling intermediate language instructions into machine instructions targeted to the processor, a method for checking code for compliance with variance requirements at run-time, the method comprising: receiving intermediate language instructions, the intermediate language instructions including run-time checks, the run-time checks having been emitted into the intermediate language instructions by a source language compiler during compilation from source language instructions into the intermediate language instructions, the run-time checks for verifying compliance with variance requirements of the source language, during execution of the intermediate language instructions in order to maintain type safety, the run-time checks including intermediate language instructions for checking implicit reference conversions between different generic types of the source language during run-time in response to detecting that read or write instructions are to be executed; detecting that a specified instruction, selected from among: a read instruction or a write instruction, is to be executed by the processor to convert a value from a first generic type to a second different generic type; prior to the processor executing the specified instruction, the processor executing an emitted run-time check applicable to the specified instruction to check for an implicit reference conversion from the first generic type to the second generic type; determining that there is not an implicit reference conversion from the first generic type to the second generic type from the results of the applicable run-time check; and providing error information related to the specified instruction in response to the determination from the run-time check that the implicit reference conversion does not exist.
8. At a computer system, the computer system including processor and system memory, the computer system including a just-in-time compiler for compiling intermediate language instructions into machine instructions targeted to the processor, a method for checking code for compliance with variance requirements at run-time, the method comprising: receiving intermediate language instructions, the intermediate language instructions including run-time checks, the run-time checks having been emitted into the intermediate language instructions by a source language compiler during compilation from source language instructions into the intermediate language instructions, the run-time checks for verifying compliance with variance requirements of the source language, during execution of the intermediate language instructions in order to maintain type safety, the run-time checks including intermediate language instructions for checking implicit reference conversions between different generic types of the source language during run-time in response to detecting that read or write instructions are to be executed; detecting that a specified instruction, selected from among: a read instruction or a write instruction, is to be executed by the processor to convert a value from a first generic type to a second different generic type; prior to the processor executing the specified instruction, the processor executing an emitted run-time check applicable to the specified instruction to check for an implicit reference conversion from the first generic type to the second generic type; determining that there is not an implicit reference conversion from the first generic type to the second generic type from the results of the applicable run-time check; and providing error information related to the specified instruction in response to the determination from the run-time check that the implicit reference conversion does not exist. 10. The method of claim 8 , wherein the applicable run-time check is for checking contra-variance between the first generic type and the second generic type.