The following program causes a stack overflow:
struct S {
    element: Option<S>
}
fn main() {
}
There is a check that enums do not recurse in this way, but no such check for structs.  (Note, though, that there is a check that structrs are instantiable, which is slightly different)