Hello,

The following experiment causes a list of bools to change type to a list of int32s when entering the kernel.

from artiq.experiment import *


class TestExperiment(EnvExperiment):
    def build(self):
        self.setattr_device('core')
        self.setattr_device('scheduler')

    def prepare(self):
        self.bool_list = [False]

    def run(self):
        print("host start:", self.bool_list)
        self.run_kernel()
        print("host end:", self.bool_list)

    @kernel
    def run_kernel(self):
        print("kernel:", self.bool_list)

Expected behavior:

host start: [False]
kernel: [False]
host end: [False]

Actual behavior:

host start: [False]
kernel: [0]
host end: [0]

The above test was done on Windows 10 python 3.8 with latest artiq master (8ccd00df) and a Kasli 2.0.

This and a number of other similar issues will be fixed in NAC3.