Skip to content

Commit d5cee7c

Browse files
committed
Change to new syntax in pos-custom-args
1 parent 8aa4103 commit d5cee7c

36 files changed

+201
-202
lines changed

tests/pos-custom-args/bounded1.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
// To be revisited
22
class CC
3-
type Cap = {*} CC
3+
type Cap = CC^
44

55
def test(c: Cap) =
6-
class B[X <: {c} Object](x: X):
6+
class B[X <: Object^{c}](x: X):
77
def elem = x
88
def lateElem = () => x
99

1010
def f(x: Int): Int = if c == c then x else 0
1111
val b = new B(f)
1212
val r1 = b.elem
13-
val r1c: {c} Int -> Int = r1
13+
val r1c: Int^{c} -> Int = r1
1414
val r2 = b.lateElem
15-
val r2c: () -> {c} Int -> Int = r2 // was error now OK
15+
val r2c: () -> Int^{c} -> Int = r2 // was error now OK
1616

1717
def test2(c: Cap) =
18-
class B[X <: {*} Any](x: X):
18+
class B[X <: Any^](x: X):
1919
def elem = x
2020
def lateElem = () => x
2121

2222
def f(x: Int): Int = if c == c then x else 0
2323
val b = new B(f)
2424
val r1 = b.elem
25-
val r1c: {c} Int -> Int = r1
25+
val r1c: Int ->{c} Int = r1
2626
val r2 = b.lateElem
27-
val r2c: () -> {c} Int -> Int = r2 // was error now OK
27+
val r2c: () -> Int ->{c} Int = r2 // was error now OK
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
class CC
2-
type Cap = {*} CC
2+
type Cap = CC^
33

44
def test(c: Cap) =
5-
class B[X <: {c} Object](x: X):
5+
class B[X <: Object^{c}](x: X):
66
def elem = x
77
def lateElem = () => x
88

99
def f(x: Int): Int = if c == c then x else 0
1010
val b = new B(f)
1111
val r1 = b.elem
12-
val r1c: {c} Int -> Int = r1
12+
val r1c: Int ->{c} Int = r1
1313
val r2 = b.lateElem
14-
val r2c: {c} () -> {c} Int -> Int = r2
14+
val r2c: () ->{c} Int ->{c} Int = r2

tests/pos-custom-args/captures/boxed1.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ def foo(x: => Int): Unit = ()
66

77
def test(c: Cap) =
88
val f = () => { c; 1 }
9-
val _: {c} () -> Int = f
9+
val _: () ->{c} Int = f
1010
val g = () => Box(f)
11-
val _: () -> Box[{f} () -> Int] = g
11+
val _: () -> Box[() ->{f} Int] = g

tests/pos-custom-args/captures/boxmap-paper.scala

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,25 @@ def map[A, B](c: Cell[A])(f: A => B): Cell[B]
1212
def pureMap[A, B](c: Cell[A])(f: A -> B): Cell[B]
1313
= c[Cell[B]]((x: A) => cell(f(x)))
1414

15-
def lazyMap[A, B](c: Cell[A])(f: A => B): {f} () -> Cell[B]
15+
def lazyMap[A, B](c: Cell[A])(f: A => B): () ->{f} Cell[B]
1616
= () => c[Cell[B]]((x: A) => cell(f(x)))
1717

1818
trait IO:
1919
def print(s: String): Unit
2020

21-
def test(io: {*} IO) =
21+
def test(io: IO^) =
2222

23-
val loggedOne: {io} () -> Int = () => { io.print("1"); 1 }
23+
val loggedOne: () ->{io} Int = () => { io.print("1"); 1 }
2424

25-
val c: Cell[{io} () -> Int]
26-
= cell[{io} () -> Int](loggedOne)
25+
val c: Cell[() ->{io} Int]
26+
= cell[() ->{io} Int](loggedOne)
2727

28-
val g = (f: {io} () -> Int) =>
28+
val g = (f: () ->{io} Int) =>
2929
val x = f(); io.print(" + ")
3030
val y = f(); io.print(s" = ${x + y}")
3131

32-
val r = lazyMap[{io} () -> Int, Unit](c)(f => g(f))
33-
val r2 = lazyMap[{io} () -> Int, Unit](c)(g)
32+
val r = lazyMap[() ->{io} Int, Unit](c)(f => g(f))
33+
val r2 = lazyMap[() ->{io} Int, Unit](c)(g)
3434
val r3 = lazyMap(c)(g)
3535
val _ = r()
3636
val _ = r2()

tests/pos-custom-args/captures/caps-universal.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ import annotation.retains
22

33
val foo: Int => Int = x => x
44
val bar: (Int -> Int) @retains(caps.*) = foo
5-
val baz: {*} Int -> Int = bar
5+
val baz: Int => Int = bar
66

77

tests/pos-custom-args/captures/capt-capability.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import annotation.capability
22

33
@capability class Cap
4-
def f1(c: Cap): {c} () -> c.type = () => c // ok
4+
def f1(c: Cap): () ->{c} c.type = () => c // ok
55

66
def f2: Int =
77
val g: Boolean => Int = ???
@@ -17,8 +17,8 @@ def f3: Int =
1717
def foo() =
1818
val x: Cap = ???
1919
val y: Cap = x
20-
val x2: {x} () -> Cap = ???
21-
val y2: {x} () -> Cap = x2
20+
val x2: () ->{x} Cap = ???
21+
val y2: () ->{x} Cap = x2
2222

2323
val z1: () => Cap = f1(x)
2424
def h[X](a: X)(b: X) = a

tests/pos-custom-args/captures/capt-depfun.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ def f(y: Cap, z: Cap): String @retains(caps.*) =
1616
val d = a(g())
1717

1818
val ac: ((x: Cap) -> ID[String @retains(x) -> String @retains(x)]) = ???
19-
val bc: (({y} String) -> {y} String) = ac(y)
20-
val dc: (String -> {y, z} String) = ac(g())
19+
val bc: String^{y} -> String^{y} = ac(y)
20+
val dc: String -> String^{y, z} = ac(g())
2121
c

tests/pos-custom-args/captures/capt-depfun2.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ type Cap = C @retains(caps.*)
55
def f(y: Cap, z: Cap) =
66
def g(): C @retains(y, z) = ???
77
val ac: ((x: Cap) -> Array[String @retains(x)]) = ???
8-
val dc: Array[? >: String <: {y, z} String] = ac(g()) // needs to be inferred
8+
val dc: Array[? >: String <: String]^{y, z} = ac(g()) // needs to be inferred
99
val ec = ac(y)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
object Test:
22

33
def test() =
4-
val x: {*} Any = "abc"
4+
val x: Any^ = "abc"
55
val y: Object @scala.annotation.retains(x) = ???
66
val z: Object @scala.annotation.retains(x, caps.*) = y: Object @annotation.retains(x)
77

tests/pos-custom-args/captures/capt2.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ class C
33
type Cap = C @retains(caps.*)
44

55
def test1() =
6-
val y: {*} String = ""
6+
val y: String^ = ""
77
def x: Object @retains(y) = y
88

99
def test2() =
@@ -13,8 +13,8 @@ def test2() =
1313
z: (() -> Unit) @retains(x)
1414
def z2: (() -> Unit) @retains(y) = y
1515
z2: (() -> Unit) @retains(y)
16-
val p: {*} () -> String = () => "abc"
17-
val q: {p} C = ???
18-
val _ = p: ({p} () -> String)
16+
val p: () => String = () => "abc"
17+
val q: C^{p} = ???
18+
val _ = p: (() ->{p} String)
1919

2020

0 commit comments

Comments
 (0)