public aspect StaticInitializationWithGenericTypes { declare warning : staticinitialization(GenericInterface+) : "one generic param, wrong bounds"; declare warning : staticinitialization(GenericInterface+) : "one generic param, correct bounds"; declare warning : staticinitialization(GenericInterface+) : "doesn't matter what type variable name you use"; declare warning : staticinitialization(GenericImplementingClass) : "works with classes too"; declare warning : staticinitialization(GenericImplementingClass) : "wrong number of type vars"; declare warning : staticinitialization(GenericImplementingClass) : "bounds not matching on interface"; }