summaryrefslogtreecommitdiff
path: root/tests/run/generators_py35.py
blob: ac2026881f4c037c3dd7325c145a96e375211334 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# mode: run
# tag: generators, pure3.5

from __future__ import generator_stop

# "generator_stop" was only added in Py3.5.


def with_outer_raising(*args):
    """
    >>> x = with_outer_raising(1, 2, 3)
    >>> try:
    ...     list(x())
    ... except RuntimeError:
    ...     print("OK!")
    ... else:
    ...     print("NOT RAISED!")
    OK!
    """
    def generator():
        for i in args:
            yield i
        raise StopIteration
    return generator