Skip to content

Commit 83bf575

Browse files
committed
Temporary workaround
1 parent 730d719 commit 83bf575

File tree

3 files changed

+13
-14
lines changed

3 files changed

+13
-14
lines changed

effekt/jvm/src/test/scala/effekt/StdlibTests.scala

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,5 @@ class StdlibLLVMTests extends StdlibTests {
6666
override def ignored: Set[File] = Set(
6767
// String comparison using `<`, `<=`, `>`, `>=` is not implemented yet on LLVM
6868
examplesDir / "stdlib" / "string" / "compare.effekt",
69-
70-
// Wrong codegen for negative types, see #801
71-
examplesDir / "stdlib" / "json.effekt",
72-
examplesDir / "stdlib" / "buffer.effekt",
7369
)
7470
}

libraries/common/buffer.effekt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ def arrayBuffer[T](initialCapacity: Int): Buffer[T] at global = {
4848
def full?() = capacity() <= 0
4949
def empty?() = size() <= 0
5050
def read() = {
51-
if (buffer.empty?) None()
51+
if (size() <= 0) None()
5252
else {
5353
val result: T = contents.unsafeGet(head.get)
5454
head.set(mod(head.get + 1, initialCapacity))
5555
Some(result)
5656
}
5757
}
5858
def write(el: T) = {
59-
if (buffer.full?) <> // raise(BufferOverflow())
59+
if (capacity() <= 0) <> // raise(BufferOverflow())
6060

6161
contents.unsafeSet(tail.get, el)
6262
tail.set(mod(tail.get + 1, initialCapacity))

libraries/common/json.effekt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -327,15 +327,18 @@ namespace test {
327327
def k = new JsonObjectBuilder {
328328
def field(k){v} = { println(k); ignore{v} }
329329
}
330-
def d = new JsonBuilder {
331-
def number(n) = println(n)
332-
def bool(b) = ()
333-
def null() = println("NULL")
334-
def string(s) = ()
335-
def list(){e} = handleJsonBuilder{d}{e}
336-
def dict(){e} = handleJsonObjectBuilder{k}{e}
330+
def jsonBuilder[R] {e: => R / JsonBuilder}: R = {
331+
def d = new JsonBuilder {
332+
def number(n) = println(n)
333+
def bool(b) = ()
334+
def null() = println("NULL")
335+
def string(s) = ()
336+
def list(){e} = jsonBuilder{e}
337+
def dict(){e} = handleJsonObjectBuilder{k}{e}
338+
}
339+
handleJsonBuilder{d}{e}
337340
}
338-
handleJsonBuilder{d}{ decodeJson() }
341+
jsonBuilder { decodeJson() }
339342
}
340343

341344
println("")

0 commit comments

Comments
 (0)