| ... | @@ -538,7 +538,7 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { | ... | @@ -538,7 +538,7 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { |
| 538 | \\frame variable null_u32 maybe_u32 nonnull_u32 | 538 | \\frame variable null_u32 maybe_u32 nonnull_u32 |
| 539 | \\breakpoint delete --force 1 | 539 | \\breakpoint delete --force 1 |
| 540 | \\ | 540 | \\ |
| 541 | \\breakpoint set --file optionals.zig --source-pattern-regexp '_ = .{ &null_u32, &nonnull_u32 };' | 541 | \\breakpoint set --file optionals.zig --source-pattern-regexp '_ = \.{ &null_u32, &nonnull_u32 };' |
| 542 | \\process continue | 542 | \\process continue |
| 543 | \\frame variable --show-types null_u32 maybe_u32 nonnull_u32 | 543 | \\frame variable --show-types null_u32 maybe_u32 nonnull_u32 |
| 544 | \\breakpoint delete --force 2 | 544 | \\breakpoint delete --force 2 |
| ... | @@ -1333,50 +1333,61 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { | ... | @@ -1333,50 +1333,61 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { |
| 1333 | .path = "main.zig", | 1333 | .path = "main.zig", |
| 1334 | .source = | 1334 | .source = |
| 1335 | \\const std = @import("std"); | 1335 | \\const std = @import("std"); |
| 1336 | \\fn testMultiArrayList() void {} | 1336 | \\const Elem0 = struct { u32, u8, u16 }; |
| | 1337 | \\const Elem1 = struct { a: u32, b: u8, c: u16 }; |
| | 1338 | \\fn testMultiArrayList( |
| | 1339 | \\ list0: std.MultiArrayList(Elem0), |
| | 1340 | \\ slice0: std.MultiArrayList(Elem0).Slice, |
| | 1341 | \\ list1: std.MultiArrayList(Elem1), |
| | 1342 | \\ slice1: std.MultiArrayList(Elem1).Slice, |
| | 1343 | \\) void { |
| | 1344 | \\ _ = .{ list0, slice0, list1, slice1 }; |
| | 1345 | \\} |
| 1337 | \\pub fn main() !void { | 1346 | \\pub fn main() !void { |
| 1338 | \\ const Elem0 = struct { u32, u8, u16 }; | | |
| 1339 | \\ var list0: std.MultiArrayList(Elem0) = .{}; | 1347 | \\ var list0: std.MultiArrayList(Elem0) = .{}; |
| 1340 | \\ defer list0.deinit(std.heap.page_allocator); | 1348 | \\ defer list0.deinit(std.heap.page_allocator); |
| 1341 | \\ try list0.setCapacity(std.heap.page_allocator, 8); | 1349 | \\ try list0.setCapacity(std.heap.page_allocator, 8); |
| 1342 | \\ list0.appendAssumeCapacity(.{ 1, 2, 3 }); | 1350 | \\ list0.appendAssumeCapacity(.{ 1, 2, 3 }); |
| 1343 | \\ list0.appendAssumeCapacity(.{ 4, 5, 6 }); | 1351 | \\ list0.appendAssumeCapacity(.{ 4, 5, 6 }); |
| 1344 | \\ list0.appendAssumeCapacity(.{ 7, 8, 9 }); | 1352 | \\ list0.appendAssumeCapacity(.{ 7, 8, 9 }); |
| | 1353 | \\ const slice0 = list0.slice(); |
| 1345 | \\ | 1354 | \\ |
| 1346 | \\ const Elem1 = struct { a: u32, b: u8, c: u16 }; | | |
| 1347 | \\ var list1: std.MultiArrayList(Elem1) = .{}; | 1355 | \\ var list1: std.MultiArrayList(Elem1) = .{}; |
| 1348 | \\ defer list1.deinit(std.heap.page_allocator); | 1356 | \\ defer list1.deinit(std.heap.page_allocator); |
| 1349 | \\ try list1.setCapacity(std.heap.page_allocator, 12); | 1357 | \\ try list1.setCapacity(std.heap.page_allocator, 12); |
| 1350 | \\ list1.appendAssumeCapacity(.{ .a = 1, .b = 2, .c = 3 }); | 1358 | \\ list1.appendAssumeCapacity(.{ .a = 1, .b = 2, .c = 3 }); |
| 1351 | \\ list1.appendAssumeCapacity(.{ .a = 4, .b = 5, .c = 6 }); | 1359 | \\ list1.appendAssumeCapacity(.{ .a = 4, .b = 5, .c = 6 }); |
| 1352 | \\ list1.appendAssumeCapacity(.{ .a = 7, .b = 8, .c = 9 }); | 1360 | \\ list1.appendAssumeCapacity(.{ .a = 7, .b = 8, .c = 9 }); |
| | 1361 | \\ const slice1 = list1.slice(); |
| 1353 | \\ | 1362 | \\ |
| 1354 | \\ testMultiArrayList(); | 1363 | \\ testMultiArrayList(list0, slice0, list1, slice1); |
| 1355 | \\} | 1364 | \\} |
| 1356 | \\ | 1365 | \\ |
| 1357 | , | 1366 | , |
| 1358 | }, | 1367 | }, |
| 1359 | }, | 1368 | }, |
| 1360 | \\breakpoint set --file main.zig --source-pattern-regexp 'testMultiArrayList\(\);' | 1369 | \\breakpoint set --file main.zig --source-pattern-regexp '_ = \.{ list0, slice0, list1, slice1 };' |
| 1361 | \\process launch | 1370 | \\process launch |
| 1362 | \\frame variable --show-types -- list0 list0.len list0.capacity list0[0] list0[1] list0[2] list0.0 list0.1 list0.2 | 1371 | \\frame variable --show-types -- list0 list0.len list0.capacity list0[0] list0[1] list0[2] list0.0 list0.1 list0.2 |
| | 1372 | \\frame variable --show-types -- slice0 slice0.len slice0.capacity slice0[0] slice0[1] slice0[2] slice0.0 slice0.1 slice0.2 |
| 1363 | \\frame variable --show-types -- list1 list1.len list1.capacity list1[0] list1[1] list1[2] list1.a list1.b list1.c | 1373 | \\frame variable --show-types -- list1 list1.len list1.capacity list1[0] list1[1] list1[2] list1.a list1.b list1.c |
| | 1374 | \\frame variable --show-types -- slice1 slice1.len slice1.capacity slice1[0] slice1[1] slice1[2] slice1.a slice1.b slice1.c |
| 1364 | \\breakpoint delete --force 1 | 1375 | \\breakpoint delete --force 1 |
| 1365 | , | 1376 | , |
| 1366 | &.{ | 1377 | &.{ |
| 1367 | \\(lldb) frame variable --show-types -- list0 list0.len list0.capacity list0[0] list0[1] list0[2] list0.0 list0.1 list0.2 | 1378 | \\(lldb) frame variable --show-types -- list0 list0.len list0.capacity list0[0] list0[1] list0[2] list0.0 list0.1 list0.2 |
| 1368 | \\(std.multi_array_list.MultiArrayList(main.main.Elem0)) list0 = len=3 capacity=8 { | 1379 | \\(std.multi_array_list.MultiArrayList(main.Elem0)) list0 = len=3 capacity=8 { |
| 1369 | \\ (root.main.main.Elem0) [0] = { | 1380 | \\ (root.main.Elem0) [0] = { |
| 1370 | \\ (u32) 0 = 1 | 1381 | \\ (u32) 0 = 1 |
| 1371 | \\ (u8) 1 = 2 | 1382 | \\ (u8) 1 = 2 |
| 1372 | \\ (u16) 2 = 3 | 1383 | \\ (u16) 2 = 3 |
| 1373 | \\ } | 1384 | \\ } |
| 1374 | \\ (root.main.main.Elem0) [1] = { | 1385 | \\ (root.main.Elem0) [1] = { |
| 1375 | \\ (u32) 0 = 4 | 1386 | \\ (u32) 0 = 4 |
| 1376 | \\ (u8) 1 = 5 | 1387 | \\ (u8) 1 = 5 |
| 1377 | \\ (u16) 2 = 6 | 1388 | \\ (u16) 2 = 6 |
| 1378 | \\ } | 1389 | \\ } |
| 1379 | \\ (root.main.main.Elem0) [2] = { | 1390 | \\ (root.main.Elem0) [2] = { |
| 1380 | \\ (u32) 0 = 7 | 1391 | \\ (u32) 0 = 7 |
| 1381 | \\ (u8) 1 = 8 | 1392 | \\ (u8) 1 = 8 |
| 1382 | \\ (u16) 2 = 9 | 1393 | \\ (u16) 2 = 9 |
| ... | @@ -1384,17 +1395,17 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { | ... | @@ -1384,17 +1395,17 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { |
| 1384 | \\} | 1395 | \\} |
| 1385 | \\(usize) list0.len = 3 | 1396 | \\(usize) list0.len = 3 |
| 1386 | \\(usize) list0.capacity = 8 | 1397 | \\(usize) list0.capacity = 8 |
| 1387 | \\(root.main.main.Elem0) list0[0] = { | 1398 | \\(root.main.Elem0) list0[0] = { |
| 1388 | \\ (u32) 0 = 1 | 1399 | \\ (u32) 0 = 1 |
| 1389 | \\ (u8) 1 = 2 | 1400 | \\ (u8) 1 = 2 |
| 1390 | \\ (u16) 2 = 3 | 1401 | \\ (u16) 2 = 3 |
| 1391 | \\} | 1402 | \\} |
| 1392 | \\(root.main.main.Elem0) list0[1] = { | 1403 | \\(root.main.Elem0) list0[1] = { |
| 1393 | \\ (u32) 0 = 4 | 1404 | \\ (u32) 0 = 4 |
| 1394 | \\ (u8) 1 = 5 | 1405 | \\ (u8) 1 = 5 |
| 1395 | \\ (u16) 2 = 6 | 1406 | \\ (u16) 2 = 6 |
| 1396 | \\} | 1407 | \\} |
| 1397 | \\(root.main.main.Elem0) list0[2] = { | 1408 | \\(root.main.Elem0) list0[2] = { |
| 1398 | \\ (u32) 0 = 7 | 1409 | \\ (u32) 0 = 7 |
| 1399 | \\ (u8) 1 = 8 | 1410 | \\ (u8) 1 = 8 |
| 1400 | \\ (u16) 2 = 9 | 1411 | \\ (u16) 2 = 9 |
| ... | @@ -1414,19 +1425,69 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { | ... | @@ -1414,19 +1425,69 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { |
| 1414 | \\ (u16) [1] = 6 | 1425 | \\ (u16) [1] = 6 |
| 1415 | \\ (u16) [2] = 9 | 1426 | \\ (u16) [2] = 9 |
| 1416 | \\} | 1427 | \\} |
| | 1428 | \\(lldb) frame variable --show-types -- slice0 slice0.len slice0.capacity slice0[0] slice0[1] slice0[2] slice0.0 slice0.1 slice0.2 |
| | 1429 | \\(std.multi_array_list.MultiArrayList(main.Elem0).Slice) slice0 = len=3 capacity=8 { |
| | 1430 | \\ (root.main.Elem0) [0] = { |
| | 1431 | \\ (u32) 0 = 1 |
| | 1432 | \\ (u8) 1 = 2 |
| | 1433 | \\ (u16) 2 = 3 |
| | 1434 | \\ } |
| | 1435 | \\ (root.main.Elem0) [1] = { |
| | 1436 | \\ (u32) 0 = 4 |
| | 1437 | \\ (u8) 1 = 5 |
| | 1438 | \\ (u16) 2 = 6 |
| | 1439 | \\ } |
| | 1440 | \\ (root.main.Elem0) [2] = { |
| | 1441 | \\ (u32) 0 = 7 |
| | 1442 | \\ (u8) 1 = 8 |
| | 1443 | \\ (u16) 2 = 9 |
| | 1444 | \\ } |
| | 1445 | \\} |
| | 1446 | \\(usize) slice0.len = 3 |
| | 1447 | \\(usize) slice0.capacity = 8 |
| | 1448 | \\(root.main.Elem0) slice0[0] = { |
| | 1449 | \\ (u32) 0 = 1 |
| | 1450 | \\ (u8) 1 = 2 |
| | 1451 | \\ (u16) 2 = 3 |
| | 1452 | \\} |
| | 1453 | \\(root.main.Elem0) slice0[1] = { |
| | 1454 | \\ (u32) 0 = 4 |
| | 1455 | \\ (u8) 1 = 5 |
| | 1456 | \\ (u16) 2 = 6 |
| | 1457 | \\} |
| | 1458 | \\(root.main.Elem0) slice0[2] = { |
| | 1459 | \\ (u32) 0 = 7 |
| | 1460 | \\ (u8) 1 = 8 |
| | 1461 | \\ (u16) 2 = 9 |
| | 1462 | \\} |
| | 1463 | \\([3]u32) slice0.0 = { |
| | 1464 | \\ (u32) [0] = 1 |
| | 1465 | \\ (u32) [1] = 4 |
| | 1466 | \\ (u32) [2] = 7 |
| | 1467 | \\} |
| | 1468 | \\([3]u8) slice0.1 = { |
| | 1469 | \\ (u8) [0] = 2 |
| | 1470 | \\ (u8) [1] = 5 |
| | 1471 | \\ (u8) [2] = 8 |
| | 1472 | \\} |
| | 1473 | \\([3]u16) slice0.2 = { |
| | 1474 | \\ (u16) [0] = 3 |
| | 1475 | \\ (u16) [1] = 6 |
| | 1476 | \\ (u16) [2] = 9 |
| | 1477 | \\} |
| 1417 | \\(lldb) frame variable --show-types -- list1 list1.len list1.capacity list1[0] list1[1] list1[2] list1.a list1.b list1.c | 1478 | \\(lldb) frame variable --show-types -- list1 list1.len list1.capacity list1[0] list1[1] list1[2] list1.a list1.b list1.c |
| 1418 | \\(std.multi_array_list.MultiArrayList(main.main.Elem1)) list1 = len=3 capacity=12 { | 1479 | \\(std.multi_array_list.MultiArrayList(main.Elem1)) list1 = len=3 capacity=12 { |
| 1419 | \\ (root.main.main.Elem1) [0] = { | 1480 | \\ (root.main.Elem1) [0] = { |
| 1420 | \\ (u32) a = 1 | 1481 | \\ (u32) a = 1 |
| 1421 | \\ (u8) b = 2 | 1482 | \\ (u8) b = 2 |
| 1422 | \\ (u16) c = 3 | 1483 | \\ (u16) c = 3 |
| 1423 | \\ } | 1484 | \\ } |
| 1424 | \\ (root.main.main.Elem1) [1] = { | 1485 | \\ (root.main.Elem1) [1] = { |
| 1425 | \\ (u32) a = 4 | 1486 | \\ (u32) a = 4 |
| 1426 | \\ (u8) b = 5 | 1487 | \\ (u8) b = 5 |
| 1427 | \\ (u16) c = 6 | 1488 | \\ (u16) c = 6 |
| 1428 | \\ } | 1489 | \\ } |
| 1429 | \\ (root.main.main.Elem1) [2] = { | 1490 | \\ (root.main.Elem1) [2] = { |
| 1430 | \\ (u32) a = 7 | 1491 | \\ (u32) a = 7 |
| 1431 | \\ (u8) b = 8 | 1492 | \\ (u8) b = 8 |
| 1432 | \\ (u16) c = 9 | 1493 | \\ (u16) c = 9 |
| ... | @@ -1434,17 +1495,17 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { | ... | @@ -1434,17 +1495,17 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { |
| 1434 | \\} | 1495 | \\} |
| 1435 | \\(usize) list1.len = 3 | 1496 | \\(usize) list1.len = 3 |
| 1436 | \\(usize) list1.capacity = 12 | 1497 | \\(usize) list1.capacity = 12 |
| 1437 | \\(root.main.main.Elem1) list1[0] = { | 1498 | \\(root.main.Elem1) list1[0] = { |
| 1438 | \\ (u32) a = 1 | 1499 | \\ (u32) a = 1 |
| 1439 | \\ (u8) b = 2 | 1500 | \\ (u8) b = 2 |
| 1440 | \\ (u16) c = 3 | 1501 | \\ (u16) c = 3 |
| 1441 | \\} | 1502 | \\} |
| 1442 | \\(root.main.main.Elem1) list1[1] = { | 1503 | \\(root.main.Elem1) list1[1] = { |
| 1443 | \\ (u32) a = 4 | 1504 | \\ (u32) a = 4 |
| 1444 | \\ (u8) b = 5 | 1505 | \\ (u8) b = 5 |
| 1445 | \\ (u16) c = 6 | 1506 | \\ (u16) c = 6 |
| 1446 | \\} | 1507 | \\} |
| 1447 | \\(root.main.main.Elem1) list1[2] = { | 1508 | \\(root.main.Elem1) list1[2] = { |
| 1448 | \\ (u32) a = 7 | 1509 | \\ (u32) a = 7 |
| 1449 | \\ (u8) b = 8 | 1510 | \\ (u8) b = 8 |
| 1450 | \\ (u16) c = 9 | 1511 | \\ (u16) c = 9 |
| ... | @@ -1464,6 +1525,56 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { | ... | @@ -1464,6 +1525,56 @@ pub fn addTestsForTarget(db: *Debugger, target: Target) void { |
| 1464 | \\ (u16) [1] = 6 | 1525 | \\ (u16) [1] = 6 |
| 1465 | \\ (u16) [2] = 9 | 1526 | \\ (u16) [2] = 9 |
| 1466 | \\} | 1527 | \\} |
| | 1528 | \\(lldb) frame variable --show-types -- slice1 slice1.len slice1.capacity slice1[0] slice1[1] slice1[2] slice1.a slice1.b slice1.c |
| | 1529 | \\(std.multi_array_list.MultiArrayList(main.Elem1).Slice) slice1 = len=3 capacity=12 { |
| | 1530 | \\ (root.main.Elem1) [0] = { |
| | 1531 | \\ (u32) a = 1 |
| | 1532 | \\ (u8) b = 2 |
| | 1533 | \\ (u16) c = 3 |
| | 1534 | \\ } |
| | 1535 | \\ (root.main.Elem1) [1] = { |
| | 1536 | \\ (u32) a = 4 |
| | 1537 | \\ (u8) b = 5 |
| | 1538 | \\ (u16) c = 6 |
| | 1539 | \\ } |
| | 1540 | \\ (root.main.Elem1) [2] = { |
| | 1541 | \\ (u32) a = 7 |
| | 1542 | \\ (u8) b = 8 |
| | 1543 | \\ (u16) c = 9 |
| | 1544 | \\ } |
| | 1545 | \\} |
| | 1546 | \\(usize) slice1.len = 3 |
| | 1547 | \\(usize) slice1.capacity = 12 |
| | 1548 | \\(root.main.Elem1) slice1[0] = { |
| | 1549 | \\ (u32) a = 1 |
| | 1550 | \\ (u8) b = 2 |
| | 1551 | \\ (u16) c = 3 |
| | 1552 | \\} |
| | 1553 | \\(root.main.Elem1) slice1[1] = { |
| | 1554 | \\ (u32) a = 4 |
| | 1555 | \\ (u8) b = 5 |
| | 1556 | \\ (u16) c = 6 |
| | 1557 | \\} |
| | 1558 | \\(root.main.Elem1) slice1[2] = { |
| | 1559 | \\ (u32) a = 7 |
| | 1560 | \\ (u8) b = 8 |
| | 1561 | \\ (u16) c = 9 |
| | 1562 | \\} |
| | 1563 | \\([3]u32) slice1.a = { |
| | 1564 | \\ (u32) [0] = 1 |
| | 1565 | \\ (u32) [1] = 4 |
| | 1566 | \\ (u32) [2] = 7 |
| | 1567 | \\} |
| | 1568 | \\([3]u8) slice1.b = { |
| | 1569 | \\ (u8) [0] = 2 |
| | 1570 | \\ (u8) [1] = 5 |
| | 1571 | \\ (u8) [2] = 8 |
| | 1572 | \\} |
| | 1573 | \\([3]u16) slice1.c = { |
| | 1574 | \\ (u16) [0] = 3 |
| | 1575 | \\ (u16) [1] = 6 |
| | 1576 | \\ (u16) [2] = 9 |
| | 1577 | \\} |
| 1467 | \\(lldb) breakpoint delete --force 1 | 1578 | \\(lldb) breakpoint delete --force 1 |
| 1468 | \\1 breakpoints deleted; 0 breakpoint locations disabled. | 1579 | \\1 breakpoints deleted; 0 breakpoint locations disabled. |
| 1469 | }, | 1580 | }, |