I don't think that `this.type` is correct here.

When I typecheck the pattern of code in the test case, I get:

```scala
scala> val x = new { def t = this }
warning: there were 1 feature warning(s); re-run with -feature for details
x: $anon forSome { type $anon <: AnyRef{def t: $anon} } = $anon$1@38b9f79a
```

Here, an existential has been introduced to capture the f-bounded-ness.

Looking at that type from the REPL:

```
scala> type bound = X forSome { type X <: { def foo: X } }
warning: there were 1 feature warning(s); re-run with -feature for details
defined type alias bound

scala> val X = typeOf[bound].dealias.typeSymbol
X: $r.intp.global.Symbol = type X

scala> X.isFBounded
res42: Boolean = false // REALLY?
```