Repository: hylo-lang/hylo (swift)

Issue:
Module+NormalizeObjectStates.swift:154: Precondition failed: stack leak
At 30dacf0f8
```
//- compileAndRun expecting: success

fun test_rotate() {

  var i = 0
  while i <= 10 {
    var a = Array<Int>()

    &a.append(0)
    &a.append(1)
    &a.append(2)
    &a.append(3)
    &a.append(4)
    &a.append(5)
    &a.append(6)
    &a.append(7)
    &a.append(8)
    &a.append(9)

    &a.rotate(to_start_at: i)
    var j = 0
    while j < 10 {
      precondition(a[j] == (i + j) % 10)
    }
    j += 1
  }
}

public fun main() {
  test_rotate()
}
```

Pull request description:
Fixes #1276

Patch:
diff --git a/Sources/IR/Emitter.swift b/Sources/IR/Emitter.swift
index 108b2212e..3cc172144 100644
--- a/Sources/IR/Emitter.swift
+++ b/Sources/IR/Emitter.swift
@@ -2016,7 +2016,7 @@ struct Emitter {
 
     if let a = PragmaLiteralExpr.ID(e) {
       argumentSite = site ?? ast[a].site
-      storage = insert(module.makeAllocStack(program[a].type, at: argumentSite))!
+      storage = emitAllocStack(for: program[a].type, at: argumentSite)
       emitStore(a, to: storage, at: argumentSite)
     } else {
       argumentSite = ast[e].site
diff --git a/Sources/IR/Operands/Instruction/ConstantString.swift b/Sources/IR/Operands/Instruction/ConstantString.swift
index d93b45115..4d731c5a3 100644
--- a/Sources/IR/Operands/Instruction/ConstantString.swift
+++ b/Sources/IR/Operands/Instruction/ConstantString.swift
@@ -31,7 +31,7 @@ public struct ConstantString: Instruction {
 extension ConstantString: CustomStringConvertible {
 
   public var description: String {
-    "constant_string \"\(value)\""
+    "constant_string \(String(data: value, encoding: .utf8)!)"
   }
 
 }


Test patch:
diff --git a/Tests/EndToEndTests/TestCases/Pragma.hylo b/Tests/EndToEndTests/TestCases/Pragma.hylo
index ed1ccbd27..0700f4f4c 100644
--- a/Tests/EndToEndTests/TestCases/Pragma.hylo
+++ b/Tests/EndToEndTests/TestCases/Pragma.hylo
@@ -2,6 +2,14 @@
 
 fun f(_ f: sink Int = #line) -> Int { f }
 
+fun g() {
+  var i = true
+  while i {
+    f()
+    &i = false
+  }
+}
+
 public fun main() -> Int32 {
   Int32(f() - #line)
 }