While scanning through `dispatch` code base, I noticed a method is defined like this:

```
def pack[T](req: { def abort() }, result: => T): HttpPackage[T]

```

The type annotation `{ def abort() }` looks very strange to me. I thought it might be some thing similar to duck typing, so I tried to pass with some thing like `object bar { def foo = print("Hello, world!") }` but the compiler still complain type mismatched. I googled but couldn't find any article mention about it.

Does anyone know about this type annotation and its use cases?

Thanks in advance.