aboutsummaryrefslogtreecommitdiff
path: root/starlark
diff options
context:
space:
mode:
authoralandonovan <adonovan@google.com>2021-01-21 17:58:09 -0500
committerGitHub <noreply@github.com>2021-01-21 17:58:09 -0500
commitcea917ab6e0f5d6548d516f8c30e197d63db9baa (patch)
tree899c6a22cc01630d69f93cb014987daed5e98208 /starlark
parentfb04d37e5d7fe9cdcc59adfcfd94d1863ac6cb38 (diff)
downloadstarlark-go-cea917ab6e0f5d6548d516f8c30e197d63db9baa.tar.gz
resolver: make -nesteddef and -lambda always on (#328)
See https://github.com/bazelbuild/starlark/pull/145 for spec changes. Updates https://github.com/bazelbuild/starlark/issues/20
Diffstat (limited to 'starlark')
-rw-r--r--starlark/eval_test.go2
-rw-r--r--starlark/testdata/assign.star2
-rw-r--r--starlark/testdata/benchmark.star1
-rw-r--r--starlark/testdata/dict.star1
-rw-r--r--starlark/testdata/function.star5
-rw-r--r--starlark/testdata/list.star29
6 files changed, 16 insertions, 24 deletions
diff --git a/starlark/eval_test.go b/starlark/eval_test.go
index 309a5b1..4ce08d3 100644
--- a/starlark/eval_test.go
+++ b/starlark/eval_test.go
@@ -28,8 +28,6 @@ import (
func setOptions(src string) {
resolve.AllowGlobalReassign = option(src, "globalreassign")
resolve.LoadBindsGlobally = option(src, "loadbindsglobally")
- resolve.AllowLambda = option(src, "lambda")
- resolve.AllowNestedDef = option(src, "nesteddef")
resolve.AllowRecursion = option(src, "recursion")
resolve.AllowSet = option(src, "set")
}
diff --git a/starlark/testdata/assign.star b/starlark/testdata/assign.star
index 64d60fb..7f579f0 100644
--- a/starlark/testdata/assign.star
+++ b/starlark/testdata/assign.star
@@ -90,7 +90,6 @@ assert.eq(m, 3)
assert.eq(n, 4)
---
-# option:nesteddef
# misc assignment
load("assert.star", "assert")
@@ -176,7 +175,6 @@ f()
g = 1
---
-# option:nesteddef
# Free variables are captured by reference, so this is ok.
load("assert.star", "assert")
diff --git a/starlark/testdata/benchmark.star b/starlark/testdata/benchmark.star
index 85d6d94..b02868d 100644
--- a/starlark/testdata/benchmark.star
+++ b/starlark/testdata/benchmark.star
@@ -1,5 +1,4 @@
# Benchmarks of Starlark execution
-# option:nesteddef
def bench_range_construction(b):
for _ in range(b.n):
diff --git a/starlark/testdata/dict.star b/starlark/testdata/dict.star
index 9864be7..1aeb1e7 100644
--- a/starlark/testdata/dict.star
+++ b/starlark/testdata/dict.star
@@ -1,5 +1,4 @@
# Tests of Starlark 'dict'
-# option:nesteddef
load("assert.star", "assert", "freeze")
diff --git a/starlark/testdata/function.star b/starlark/testdata/function.star
index 9b74740..bdfa5ac 100644
--- a/starlark/testdata/function.star
+++ b/starlark/testdata/function.star
@@ -1,5 +1,5 @@
# Tests of Starlark 'function'
-# option:nesteddef option:set
+# option:set
# TODO(adonovan):
# - add some introspection functions for looking at function values
@@ -239,7 +239,7 @@ assert.eq(y, ((1, 2, 4), dict(x=3, z=5)))
assert.eq(r, [1, 2, 3, 4, 5])
---
-# option:nesteddef option:recursion
+# option:recursion
# See github.com/bazelbuild/starlark#170
load("assert.star", "assert")
@@ -276,7 +276,6 @@ def e():
assert.eq(e(), 1)
---
-# option:nesteddef
load("assert.star", "assert")
def e():
diff --git a/starlark/testdata/list.star b/starlark/testdata/list.star
index ff98b96..526a962 100644
--- a/starlark/testdata/list.star
+++ b/starlark/testdata/list.star
@@ -1,5 +1,4 @@
# Tests of Starlark 'list'
-# option:nesteddef
load("assert.star", "assert", "freeze")
@@ -16,14 +15,14 @@ assert.true(not [])
# indexing, x[i]
abc = list("abc".elems())
-assert.fails(lambda : abc[-4], "list index -4 out of range \\[-3:2]")
+assert.fails(lambda: abc[-4], "list index -4 out of range \\[-3:2]")
assert.eq(abc[-3], "a")
assert.eq(abc[-2], "b")
assert.eq(abc[-1], "c")
assert.eq(abc[0], "a")
assert.eq(abc[1], "b")
assert.eq(abc[2], "c")
-assert.fails(lambda : abc[3], "list index 3 out of range \\[-3:2]")
+assert.fails(lambda: abc[3], "list index 3 out of range \\[-3:2]")
# x[i] = ...
x3 = [0, 1, 2]
@@ -45,8 +44,8 @@ assert.fails(x3.clear, "cannot clear frozen list")
# list + list
assert.eq([1, 2, 3] + [3, 4, 5], [1, 2, 3, 3, 4, 5])
-assert.fails(lambda : [1, 2] + (3, 4), "unknown.*list \\+ tuple")
-assert.fails(lambda : (1, 2) + [3, 4], "unknown.*tuple \\+ list")
+assert.fails(lambda: [1, 2] + (3, 4), "unknown.*list \\+ tuple")
+assert.fails(lambda: (1, 2) + [3, 4], "unknown.*tuple \\+ list")
# list * int, int * list
assert.eq(abc * 0, [])
@@ -73,8 +72,8 @@ assert.eq([(y, x) for x, y in {1: 2, 3: 4}.items()], [(2, 1), (4, 3)])
# corner cases of parsing:
assert.eq([x for x in range(12) if x % 2 == 0 if x % 3 == 0], [0, 6])
-assert.eq([x for x in [1, 2] if lambda : None], [1, 2])
-assert.eq([x for x in [1, 2] if (lambda : 3 if True else 4)], [1, 2])
+assert.eq([x for x in [1, 2] if lambda: None], [1, 2])
+assert.eq([x for x in [1, 2] if (lambda: 3 if True else 4)], [1, 2])
# list function
assert.eq(list(), [])
@@ -98,8 +97,8 @@ listcompblock()
# list.pop
x4 = [1, 2, 3, 4, 5]
-assert.fails(lambda : x4.pop(-6), "index -6 out of range \\[-5:4]")
-assert.fails(lambda : x4.pop(6), "index 6 out of range \\[-5:4]")
+assert.fails(lambda: x4.pop(-6), "index -6 out of range \\[-5:4]")
+assert.fails(lambda: x4.pop(6), "index 6 out of range \\[-5:4]")
assert.eq(x4.pop(), 5)
assert.eq(x4, [1, 2, 3, 4])
assert.eq(x4.pop(1), 2)
@@ -205,12 +204,12 @@ def remove(v):
assert.eq(remove(3), [1, 4, 1])
assert.eq(remove(1), [3, 4, 1])
assert.eq(remove(4), [3, 1, 1])
-assert.fails(lambda : [3, 1, 4, 1].remove(42), "remove: element not found")
+assert.fails(lambda: [3, 1, 4, 1].remove(42), "remove: element not found")
# list.index
bananas = list("bananas".elems())
assert.eq(bananas.index("a"), 1) # bAnanas
-assert.fails(lambda : bananas.index("d"), "value not in list")
+assert.fails(lambda: bananas.index("d"), "value not in list")
# start
assert.eq(bananas.index("a", -1000), 1) # bAnanas
@@ -220,14 +219,14 @@ assert.eq(bananas.index("a", 2), 3) # banAnas
assert.eq(bananas.index("a", 3), 3) # banAnas
assert.eq(bananas.index("b", 0), 0) # Bananas
assert.eq(bananas.index("n", -3), 4) # banaNas
-assert.fails(lambda : bananas.index("n", -2), "value not in list")
+assert.fails(lambda: bananas.index("n", -2), "value not in list")
assert.eq(bananas.index("s", -2), 6) # bananaS
-assert.fails(lambda : bananas.index("b", 1), "value not in list")
+assert.fails(lambda: bananas.index("b", 1), "value not in list")
# start, end
assert.eq(bananas.index("s", -1000, 7), 6) # bananaS
-assert.fails(lambda : bananas.index("s", -1000, 6), "value not in list")
-assert.fails(lambda : bananas.index("d", -1000, 1000), "value not in list")
+assert.fails(lambda: bananas.index("s", -1000, 6), "value not in list")
+assert.fails(lambda: bananas.index("d", -1000, 1000), "value not in list")
# slicing, x[i:j:k]
assert.eq(bananas[6::-2], list("snnb".elems()))