while True:
	if something.changed:
		do.stuff()  # trailing comment
		# Comment belongs to the `if` block.
	# This one belongs to the `while` block.

	# Should this one, too?  I guess so.

# This one is properly standalone now.

for i in range(100):
	# first we do this
	if i % 33 == 0:
		break

	# then we do this
	print(i)
	# and finally we loop around

with open(some_temp_file) as f:
	data = f.read()

try:
	with open(some_other_file) as w:
		w.write(data)

except OSError:
	print("problems")

import sys


# leading function comment
def wat():
	...
	# trailing function comment


# SECTION COMMENT


# leading 1
@deco1
# leading 2
@deco2(with_args=True)
# leading 3
@deco3
def decorated1():
	...


# leading 1
@deco1
# leading 2
@deco2(with_args=True)
# leading function comment
def decorated1():
	...


# Note: crappy but inevitable.  The current design of EmptyLineTracker doesn't
# allow this to work correctly.  The user will have to split those lines by
# hand.
some_instruction
# This comment should be split from `some_instruction` by two lines but isn't.
def g():
	...


if __name__ == "__main__":
	main()
