If you put a @Layout MyLayout directive inside an _Imports.razor and MyLayout.razor is defined in a subfolder of that folder, you end up with something like this:
[Layout(MyLayout)]
public class MyLayout : LayoutBase
{
}
Creating an infinite rendering loop. We don't want to anything at runtime, but we can do something at compile time to detect this scenario.