I suspect that the Around
trait's delayedInit
method is overriding the same method in After
.
Note, you could simply call your after logic after AsResult.effectively(t)
for the required effect.
def around[T : AsResult](t: =>T) {
// before logic
val result = AsResult.effectively(t)
// after logic
result
}