favor return over return _ (void return); newline/closing terminates
This commit is contained in:
@@ -23,8 +23,6 @@ _fail_allocator mem.Allocator :: mem.Allocator {
|
||||
vtable = &_fail_vtable,
|
||||
}
|
||||
|
||||
_noop func() void {}
|
||||
|
||||
run func() i32 ! mem.AllocError {
|
||||
values std.ArrayList(i32) = arraylist.init(mem.c_allocator)
|
||||
defer arraylist.deinit(&values)
|
||||
@@ -65,7 +63,6 @@ run func() i32 ! mem.AllocError {
|
||||
failed_as_expected bool = false
|
||||
arraylist.append(&failed, 1) catch |_| {
|
||||
failed_as_expected = true
|
||||
yield _noop()
|
||||
}
|
||||
if (failed_as_expected == false or failed.items.len != 0 or failed.capacity != 0) return 9
|
||||
arraylist.deinit(&failed)
|
||||
|
||||
@@ -266,6 +266,19 @@ stmt_block_escape func() i32 {
|
||||
return hits # 4 + 1000 (defer) = 1004
|
||||
}
|
||||
|
||||
# A labeled block can also be exited through an ordinary nested block.
|
||||
stmt_block_nested func() i32 {
|
||||
hits i32 = 0
|
||||
outer: {
|
||||
{
|
||||
hits = 1
|
||||
break :outer
|
||||
}
|
||||
hits = 100 # skipped by break :outer
|
||||
}
|
||||
return hits
|
||||
}
|
||||
|
||||
# Item B: a `none` yielded before a concrete `yield :blk` that references a block local.
|
||||
lblock_local func() i32 {
|
||||
r :: blk: {
|
||||
@@ -319,6 +332,7 @@ main func() i32 {
|
||||
if (stmt_block(0) != 2) return 132
|
||||
if (stmt_block_escape() != 1004) return 133
|
||||
if (lblock_local() != 9) return 134
|
||||
if (stmt_block_nested() != 1) return 135
|
||||
|
||||
return 42
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user