Возврат в генератор вместе с yield в Python 3.3

В Python 2 произошла ошибка, когда return был вместе с yield в определении функции. Но для этого кода в Python 3.3

def f():
  return 3
  yield 2

x = f()
print(x.__next__())

нет ошибки, что return используется в функции с yield. Однако, когда функция__next__ затем вызывается исключение StopIration. Почему не просто возвращаемое значение3? Это возвращение как-то игнорируется?