if True \
    or False:
    pass
elif \
    False:
    pass

for i in \
    range(1, 100):
    pass

with open('file1') as file1, \
    open('file2') as file2:
    pass


class \
    A(object):
    pass


def \
    foo():
    pass


try:
    pass
except \
    AttributeError:
    pass

while value \
    in values:  # <- missing continuation indent here
    do_smth()

if (1 + x.
    value()):
    pass