Groovy では permits に指定されているすべてのクラスがコンパイル時に使用可能であり、基底クラスと一緒にコンパイルされる必要はありません。 コンパイラーは permits に指定されており、拡張を行わないサブクラスを処理する際に警告を表示しませんが、それは sealed クラスの性質に矛盾しています。
例:
class A permits B {} // B が報告されます class B {}