Authentication-Results: mail-b.sr.ht; dkim=pass header.d=hotmail.com header.i=@hotmail.com Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064030.outbound.protection.outlook.com [40.92.64.30]) by mail-b.sr.ht (Postfix) with ESMTPS id 32EB911EF8D for <~andrewrk/ziglang@lists.sr.ht>; Sat, 10 Sep 2022 08:15:43 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dFWvrfETrX/bIqFfmpD86GKi/H4jJsPu3RzTfNyonO3g4mXcXzbrsKLKFu666dqaso6LocevXc7C3XIp5KWdR+jvJkUHYHHU88+fTbR8vumzgzYyAKD78fKIEvHOn8CtCCEDgtEMNdc9Wmd1KMGmBIo1lcsv04WIgx3BOHeHxi8+HvW1kjlo8tuRpbJvn0geEZlrYYIQNxxigrf0TAQ7HMBft7uavzWf39KbhrgXs3eF2IirMZ9WVYK3Ag+iD9F5aj/xnakQJdSy0pwfTiDx8ogrtLwFb3uI7QEWNJnT2fmcB/R4FLt5/EWpie9lkLDLHcGmBFbLvRs2WMiMk5Q3GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kCgXn3wXEWBdpy3y+2DCn8JiPoqXrQEnaXIOJoewk8E=; b=i4zvJ8n5tY2LMq2hLu/0KUhupQQN1tXlLUHabnMidJNMqo2x5ZKbD81jjYG0TQn8rNMSqKdcmnIQ7/fVxSskQ2V3fi8pg3G7bkZ0jhe4p3o++MSPex44OOLIUVrVInfYUaqyS3FbQ6ugBqK+L4zrK0Snx63XGatnaYshD9LGFY9jQ8RcGnVeGadoGG2WkT/BabhVpeA+YfZyuhvsM5KXqY/KMwCvssJkZHZ37+KxaOL39/KDqhKDxsxc/YF8dU7/3QLRNfWEFlpc3sQqb3DMZVKHfrGakfmuogRCMNLS5TgLddf5Z6Zftkbop41VB1XznDi4sc1j1IQEVUR7vjqyEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kCgXn3wXEWBdpy3y+2DCn8JiPoqXrQEnaXIOJoewk8E=; b=uAwSTS4oiBNUewpMV67jBrP9VqG+zD+kTN25Dzmgz0Zl+Qj8Cmd5A0Lk/fo+dmR7e4++9AmtC4rYoZjn5+S+9hufo3H88CpQNp4c4dRdIyGmcBeQFTI0C7NOc9v1X8/FmgtzoDgsZFJM4ejFkqNImUM06eyUDn96KkGRepaz0Fkhl7Rtb2VebvcwxyLomvYdXamGuwJOvb4rQJc77RnIQff2Mvm4TSgAD6JTm4Y9Z044YMY9qL7psQzUsQDfbMIdLj2P6J6Cf/g5EjSEelryw4RfGaMoQzsyCzz1b1whkXspyZxchEVS/Aye+f6qvZ6unuA0OvY30/Zxu6P77JLkuA== Received: from DBAP190MB0982.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:1b1::15) by DB8P190MB0732.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:fc::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.14; Sat, 10 Sep 2022 08:15:40 +0000 Received: from DBAP190MB0982.EURP190.PROD.OUTLOOK.COM ([fe80::d9e1:7c51:db46:1ce8]) by DBAP190MB0982.EURP190.PROD.OUTLOOK.COM ([fe80::d9e1:7c51:db46:1ce8%5]) with mapi id 15.20.5612.022; Sat, 10 Sep 2022 08:15:40 +0000 Subject: [_]struct within [_]struct (was comptime map) To: ~andrewrk/ziglang@lists.sr.ht References: <8d2cc9f9-cb05-2038-3d53-eb7f4e6e3aaa@hotmail.com> <2e2f1751-ec7c-d22c-4a51-df9047a2d62c@hotmail.com> <8e27ac17-eb81-5ccb-2e73-5e038851a1be@hotmail.com> From: Peter Bridge Message-ID: Date: Sat, 10 Sep 2022 10:14:40 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 In-Reply-To: <8e27ac17-eb81-5ccb-2e73-5e038851a1be@hotmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-TMN: [6jw+xuRmwvhPiN4QuR2KKFkTTsiYXMOtE3SbBDx+03A=] X-ClientProxiedBy: ZR0P278CA0117.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:20::14) To DBAP190MB0982.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:1b1::15) X-Microsoft-Original-Message-ID: <49449c87-4ce6-23f2-cc87-281f0732d8c2@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBAP190MB0982:EE_|DB8P190MB0732:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a69e567-c9fc-4e35-0499-08da9304a5fb X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CJl84Yfoe+Bikgp8c2mtNYtOAHtXilyoyQ8G9TYLlMG9SJsqS2OU5P1dg5GJ8RGVfJwTaf97RP8NQgjzhehdsQCK1lwIVMBdDjsyUQZVdYZdCHFR5Hb+XfR9y2iSfFBIJkV+NovuO0oFCWM8MKrZEd0x0YY3kCGXb6zeyRQ7aPd5Y92qqbiTeV0VyqleWUB3GWHooKWFl+Indkez2WjgJKRbSqDkCwR0l2EBn7dzBHVGRO1KjaR890ZCByWcy8bonO9NwH2pQyXqe5DeJ85rESYYDe/yh5etn+GfPcAT3ei3nk3WL3JmUqjB3shalYCoDaWZG2CNZ9qBBr6uoupK0kyF2qTLt4Fg9wWlV2l1C+5uBZYAtghpHZRPQC52/D9Vclpfi343yVoeOxpIgLb0JvWAFvXJFNPtcemNH+leG7yuylon1zsgugqO3V1Zhx235gwWmNaq7Nllyegt6WCCSwTM9QwXCsNBe8deTcuqYzqA3KiHoPi40SSrSSPwnu0ahAnSYgyIlwqlVFjCNpdZfu1XElWXwXZFWPEV9xAY8rSgtHTd8SMkWOzqk0FumOgp8o4jfkXDHKqDr4DK+wkrPSdTuckjzAvH2GwESfgC8VSO30nX293LI0DsMbSVxNJ5WvQwz1rbTRE94tCCObP9+A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?Windows-1252?Q?3HxIavQMhwxs7T5vuj7T66AOWQz/EdEK3a5tAKbDW4VlogG3CxdZaEzi?= =?Windows-1252?Q?KAdLeB1gob7Y2TWu674KF3ngoLxdkZYdPG6BdEXIqjiWHrQ+LR5+y2cl?= =?Windows-1252?Q?DmqzjM2DMDwY7RzsTZ5/filVpTyU+hkIcCkPLo1T5OJSWTxq0Y9PR9/3?= =?Windows-1252?Q?ltYyUiExXit3IitmZrh/zVmc5CFM6X7P/722lOQ58qD2e46V/Xk4z52w?= =?Windows-1252?Q?GMcuZ12AQjcdoVz7ednQ9SQuEEmB4PML9xVKfccIBWz8QE8To7dqvNwm?= =?Windows-1252?Q?ILOwZzkS7zWpeEi3enUvFo491AP/g6T1kZkbHHJ3+CqXVNM3z1AksPlz?= =?Windows-1252?Q?ZqJqIiEop8GpE8dCLqdHo3sQxA2pzX8cYDOzz8HDyrxkwqJS3uxZr0wZ?= =?Windows-1252?Q?6310TUATjaJpuQLNqySwBVPHfhXf1Sns3lht5tJx0FlXc/ps72MitvhC?= =?Windows-1252?Q?VakKGqcF9G8Jh/58OFHCQZnjpH5POG3AS8w4rIgJIuEZKrFyIPycCJNM?= =?Windows-1252?Q?Gl/MzvdkQ7AZMU5ZlnPAJtHRVlAx/Jc/RmdOCJsvFxO1lLDPoEkmbYV7?= =?Windows-1252?Q?qr7fO7hD/LCOBGcNqLpXbhBhKYTgT7uA/wf+eTQU2FVTz5+1Tfp9B6Ms?= =?Windows-1252?Q?QGMe88oRF3EkF0rujh96CuXhQVIVIb6s1eLNZYli+JdzyVRJV7UVt9nw?= =?Windows-1252?Q?35u5OEh5Ppjwv7+8oaqYbIrzBZ6bhuR05xY2f1zRX6ipXxkYDBWvVC0Q?= =?Windows-1252?Q?brb1nyIm4yZQMaeufYYO4em9y63BBv1TJ2zsr17PUixetRmD9L2y8pBt?= =?Windows-1252?Q?RKr5jHbjbt0fZaoKwth0G9q25pYBkwhJa0RA1h/SjxMp9IFjIzhkjBqn?= =?Windows-1252?Q?L8nX+Kp9n9j3CzU7rPuUMmECdLFNEBUSGT8UBLqUH86x50sa43eChj71?= =?Windows-1252?Q?07cRPdsHm1o1JQX50cE/Wjpj5kHJ9S++M5Ua7sQbAGD8JklFz5BPchYs?= =?Windows-1252?Q?g8Cw6TCgxQ5xpVYYSTwItwiAQlGOu3nQtRv2cH/JwyaM7OHy8YLrMksv?= =?Windows-1252?Q?6SOAwZ6nkTM5mAHL+DdOrNgyQRvngBs3ZWYXYjGa2Qus7IMNpXgEjrA+?= =?Windows-1252?Q?8GanQNbpzuUQxyM+tt+5itdP+DV9jPHzREh9ym3tCDcXm+NiNA2CFeMs?= =?Windows-1252?Q?tICoG3EouClCpa7vL4hDmFekOqwfea4nLJbSCZ2NDyp7ZjjMGcV5n4se?= =?Windows-1252?Q?GJ0QQJq0c2PMasgEqzcoHYZObTi/vKaBTlq6AAlUz8Urr+WTqZwt8aqB?= =?Windows-1252?Q?6ZMS578U9CAYo4OQVmsdNYe9wN18uinE+XlV3DYH08yFT9+DektJy7r+?= =?Windows-1252?Q?FfSYPM+QIrKnNqela6zbHmDMCduFmVX4qrs=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-91991.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 2a69e567-c9fc-4e35-0499-08da9304a5fb X-MS-Exchange-CrossTenant-AuthSource: DBAP190MB0982.EURP190.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2022 08:15:40.2689 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8P190MB0732 My latest attempt with structs requires the array to be outside of the 'steps' definition so I can keep the array handle, but pass over a slice... ideally I would like the event mappings to be defined with the steps definition... I just discovered Zig tuples, and thinking it might offer a cleaner solution. But I am struggling to find documentation on them, ie how to use them and memory ownership. Any tips please? const STEP_START_EVENTS = [_]EventMapping{EventMapping{ .event = EVENT_NEXT, .nextStep = STEP_SPLASH, }}; const STEP_SPLASH_EVENTS = [_]EventMapping{EventMapping{ .event = EVENT_PREV, .nextStep = STEP_START, }}; const steps = [_]StepDescriptor{ StepDescriptor{ .step = STEP_START, .debug = 2, .eventMapping = STEP_START_EVENTS[0..], }, StepDescriptor{ .step = STEP_SPLASH, .debug = 5, .eventMapping = STEP_SPLASH_EVENTS[0..], }, };