content: @extend
  class range:
      def __iter__(self):
          yield 999
  
  @test
  def test_for_lowering():
      from random import randint
      x = 10
      v = []
      for i in range(x):
          v.append(i)
      assert v == [0,1,2,3,4,5,6,7,8,9]
  
      v = []
      for i in range(x - 11, x//10):
          v.append(i)
      assert v == [-1, 0]
  
      v = []
      for i in range(x, -x):
          v.append(i)
      assert v == []
  
      v = []
      for i in range(x//3, -x//3, -2):
          v.append(i)
      assert v == [3, 1, -1]
  
      v = []
      for i in range(-1, 7, 3):
          v.append(i)
      assert v == [-1, 2, 5]
  
      v = []
      for i in range(0, 1, randint(1,1)):  # no lowering for non-const step
          v.append(i)
      assert v == [999]
  
      v = []
      try:
          for i in range(0, 1, 0):  # no lowering for zero step
              v.append(i)
          v.append(-1)
      except:
          v.append(-2)
      assert v == [-2]
  
      v = []
      for i in range(5):
          if i == 1:
              continue
          if i == 3:
              break
          v.append(i)
      assert v == [0, 2]
  
  test_for_lowering()
  