When an extern function have as return type an abstract type, the macro tries to instantiate it, resulting in a compile error.
Example with GtkBuilder:
@CObj
class GtkBuilder {
def getObject(name: CString): GObject = extern
}
[error] [E1] src/main/scala/GtkBuilder.scala
[error] class GObject is abstract; cannot be instantiated
[error] L6:@CObj