Repository: mesonbuild/meson

Issue:
"AttributeError: 'CustomTargetIndex' object has no attribute 'subdir'"
**Describe the bug**

Generated automatically. Please see #9646 for a detailed description.
A minimal working example can be found below. ..

```
Traceback (most recent call last):
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\mesonmain.py", line 138, in run
    return options.run_func(options)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\msetup.py", line 294, in run
    app.generate()
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\msetup.py", line 185, in generate
    self._generate(env)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\msetup.py", line 229, in _generate
    intr.run()
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\interpreter\interpreter.py", line 2484, in run
    super().run()
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 148, in run
    self.evaluate_codeblock(self.ast, start=1)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 173, in evaluate_codeblock
    raise e
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 166, in evaluate_codeblock
    self.evaluate_statement(cur)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 179, in evaluate_statement
    return self.function_call(cur)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\interpreterbase\interpreterbase.py", line 454, in function_call
    res = func(node, func_args, kwargs)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 621, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\interpreterbase\decorators.py", line 115, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\interpreter\interpreter.py", line 1571, in func_shared_module
    return self.build_target(node, args, kwargs, build.SharedModule)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\interpreter\interpreter.py", line 2686, in build_target
    target = targetclass(name, self.subdir, self.subproject, for_machine, sources, objs, self.environment, kwargs)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\build.py", line 2236, in __init__
    super().__init__(name, subdir, subproject, for_machine, sources, objects, environment, kwargs)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\build.py", line 1925, in __init__
    super().__init__(name, subdir, subproject, for_machine, sources, objects, environment, kwargs)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\build.py", line 707, in __init__
    self.process_kwargs(kwargs, environment)
  File "c:\users\paulo\appdata\local\programs\python\python39\lib\site-packages\mesonbuild\build.py", line 2152, in process_kwargs
    self.vs_module_defs = File.from_built_file(path.subdir, path.get_filename())
AttributeError: 'CustomTargetIndex' object has no attribute 'subdir'
```
**To Reproduce**
```meson
project('generated', ['c', 'java'])

obj = files('foo.c')[0]
SCErwTxojo = [obj]
owYpeLYJaV = 'RaUCqxQvxw'
OzHKmfiEbV = 'foo.c'
HJenacuQlf = true
igLwJgLIMP = 'String'
pNLTMorXKd = [ declare_dependency(), declare_dependency() ]
wsDTRXXCuW = [ 'foo', 'bar' ]
DEklHIyXjm = 'c'
BbSaKXXoSz = [ static_library('iVWqkeOjpd', 'foo.c') ]
mefgHKWUbM = [ static_library('AGatFiRJIT', 'foo.c') ]
eYRZBVLjMH = true
qINDilHqAD = [ include_directories('include'), 'include' ]
XGosHGWDeM = true
lkPXKnlfpa = 'String'
DAaPAYFiet = 'rwxr-xr-x'
yMJYBNXJNp = 'String'
tmGrlmIhey = [ 'key1=value1', 'key2=value2' ]
qzqWlSVXOg = ''
arJsMzlRxh = include_directories('include')
XstgqsLWrw = true
GGFNMDOXTs = [ 'foo', 'bar' ]
xZsaRyTkpe = [ 'foo', 'bar' ]
NZlyPeunaG = true
cqxMxAwohh = 'String'
HKZcgqTUaA = 'String'
YkKZtxuzAa = 'String'
fKKGApxvZV = 'bar.txt'
shared_module(owYpeLYJaV,OzHKmfiEbV,build_by_default : HJenacuQlf,build_rpath : igLwJgLIMP,dependencies : pNLTMorXKd,extra_files : SCErwTxojo,link_args : wsDTRXXCuW,link_depends : SCErwTxojo,link_language : DEklHIyXjm,link_whole : BbSaKXXoSz,link_with : mefgHKWUbM,implicit_include_directories : eYRZBVLjMH,include_directories : qINDilHqAD,install : XGosHGWDeM,install_dir : lkPXKnlfpa,install_mode : DAaPAYFiet,install_rpath : yMJYBNXJNp,objects : SCErwTxojo,override_options : tmGrlmIhey,gnu_symbol_visibility : qzqWlSVXOg,d_import_dirs : arJsMzlRxh,d_unittest : XstgqsLWrw,d_module_versions : GGFNMDOXTs,d_debug : xZsaRyTkpe,native : NZlyPeunaG,name_prefix : cqxMxAwohh,name_suffix : HKZcgqTUaA,rust_crate_type : YkKZtxuzAa,vs_module_defs : fKKGApxvZV)
xWCTgZNWFX = 'LjRiXUeKGE'
xkITHlZxbx = 'foo.c'
mVpLXPaCvq = true
GuCQVWhugn = 'String'
CgHhsaQJKC = [ declare_dependency(), declare_dependency() ]
LyXppJnWxD = [ 'foo', 'bar' ]
kRsyjsZSoU = 'c'
LjSdCduhlB = [ static_library('QkSswOgScq', 'foo.c') ]
ckVMXFQRMh = [ static_library('raHNdVfmZd', 'foo.c') ]
UdNJMcTLgI = true
GfyRFcSCuR = [ include_directories('include'), 'include' ]
VeikIWoWUs = true
UbaLMOUbOR = 'String'
ZidvAJilmj = 'rwxr-xr-x'
OyLXbjMMnZ = 'String'
QPTIxbRmKU = [ 'key1=value1', 'key2=value2' ]
CpZxTVkllL = ''
wiinCQwsLY = include_directories('include')
OxwKOPCyrc = true
SCrAKgYTYJ = [ 'foo', 'bar' ]
XiZrTGChEQ = [ 'foo', 'bar' ]
IBTrBtFnkV = true
NRadNNUhEJ = 'String'
QMlInPcLuM = 'String'
nCNSabDmFm = 'String'
shared_module(xWCTgZNWFX,xkITHlZxbx,build_by_default : mVpLXPaCvq,build_rpath : GuCQVWhugn,dependencies : CgHhsaQJKC,extra_files : SCErwTxojo,link_args : LyXppJnWxD,link_depends : SCErwTxojo,link_language : kRsyjsZSoU,link_whole : LjSdCduhlB,link_with : ckVMXFQRMh,implicit_include_directories : UdNJMcTLgI,include_directories : GfyRFcSCuR,install : VeikIWoWUs,install_dir : UbaLMOUbOR,install_mode : ZidvAJilmj,install_rpath : OyLXbjMMnZ,objects : SCErwTxojo,override_options : QPTIxbRmKU,gnu_symbol_visibility : CpZxTVkllL,d_import_dirs : wiinCQwsLY,d_unittest : OxwKOPCyrc,d_module_versions : SCrAKgYTYJ,d_debug : XiZrTGChEQ,native : IBTrBtFnkV,name_prefix : NRadNNUhEJ,name_suffix : QMlInPcLuM,rust_crate_type : nCNSabDmFm,vs_module_defs : obj)
YYCbfTfLZs = 'BqujggRPqq'
IEYbXUXyyN = 'foo.c'
JyRyZMCblO = true
cNhlYoraDn = 'String'
tzJhCSIQYg = [ declare_dependency(), declare_dependency() ]
mxaFTGdPwE = [ 'foo', 'bar' ]
bNRjezazVQ = 'c'
VpqsLAXRee = [ static_library('RhaOjDwNgT', 'foo.c') ]
SjERxREaaw = [ static_library('BktGxYXOWZ', 'foo.c') ]
vQrjRYsmXs = true
LdYqzsfnwE = [ include_directories('include'), 'include' ]
aDESLXiTVE = true
MmfsxQOLuS = 'String'
liujuYvNAB = 'rwxr-xr-x'
LclIGiQWwm = 'String'
FRrswrLOyG = [ 'key1=value1', 'key2=value2' ]
DFxsgppoCt = ''
YUasDynIZp = include_directories('include')
KbwyupSByc = true
rfSitiqUpt = [ 'foo', 'bar' ]
mkPYqcXuCD = [ 'foo', 'bar' ]
oHVSKRQoKN = true
koUhemvYEU = 'String'
LywHtZTrhN = 'String'
QhCRsgCTin = 'String'
AmgUPAqzqO = custom_target('jdJGNtajNB', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])
shared_module(YYCbfTfLZs,IEYbXUXyyN,build_by_default : JyRyZMCblO,build_rpath : cNhlYoraDn,dependencies : tzJhCSIQYg,extra_files : SCErwTxojo,link_args : mxaFTGdPwE,link_depends : SCErwTxojo,link_language : bNRjezazVQ,link_whole : VpqsLAXRee,link_with : SjERxREaaw,implicit_include_directories : vQrjRYsmXs,include_directories : LdYqzsfnwE,install : aDESLXiTVE,install_dir : MmfsxQOLuS,install_mode : liujuYvNAB,install_rpath : LclIGiQWwm,objects : SCErwTxojo,override_options : FRrswrLOyG,gnu_symbol_visibility : DFxsgppoCt,d_import_dirs : YUasDynIZp,d_unittest : KbwyupSByc,d_module_versions : rfSitiqUpt,d_debug : mkPYqcXuCD,native : oHVSKRQoKN,name_prefix : koUhemvYEU,name_suffix : LywHtZTrhN,rust_crate_type : QhCRsgCTin,vs_module_defs : AmgUPAqzqO)
YVFHdNKTFE = 'OFTNyipJTR'
sXFKHfKYyN = 'foo.c'
WevxOvVhYl = true
HWYqrgJQJK = 'String'
yTyMlOhXoT = [ declare_dependency(), declare_dependency() ]
rWjZXDkcvl = [ 'foo', 'bar' ]
GshhewVgrV = 'c'
zfHdSfLtKo = [ static_library('RcHwnbZeRe', 'foo.c') ]
aNCzEVbxod = [ static_library('xrVyXfLMuD', 'foo.c') ]
zymHCULlMH = true
NBJCrwAhbU = [ include_directories('include'), 'include' ]
XoygHCWYOb = true
OguPGiKUmI = 'String'
lOFVPFROUI = 'rwxr-xr-x'
RvVzwkfaOE = 'String'
hRLUjIvMXK = [ 'key1=value1', 'key2=value2' ]
QFMhCQbLCr = ''
uegpmxFwcv = include_directories('include')
bdSOwREUoW = true
lFivNzyREv = [ 'foo', 'bar' ]
XKbSMULKzs = [ 'foo', 'bar' ]
rOvSyxTWQs = true
waNJfKGBRZ = 'String'
QjpNIPBdnY = 'String'
xYEGtotSMN = 'String'
KygXhWyqyC = custom_target('fVHufuNdLS', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
shared_module(YVFHdNKTFE,sXFKHfKYyN,build_by_default : WevxOvVhYl,build_rpath : HWYqrgJQJK,dependencies : yTyMlOhXoT,extra_files : SCErwTxojo,link_args : rWjZXDkcvl,link_depends : SCErwTxojo,link_language : GshhewVgrV,link_whole : zfHdSfLtKo,link_with : aNCzEVbxod,implicit_include_directories : zymHCULlMH,include_directories : NBJCrwAhbU,install : XoygHCWYOb,install_dir : OguPGiKUmI,install_mode : lOFVPFROUI,install_rpath : RvVzwkfaOE,objects : SCErwTxojo,override_options : hRLUjIvMXK,gnu_symbol_visibility : QFMhCQbLCr,d_import_dirs : uegpmxFwcv,d_unittest : bdSOwREUoW,d_module_versions : lFivNzyREv,d_debug : XKbSMULKzs,native : rOvSyxTWQs,name_prefix : waNJfKGBRZ,name_suffix : QjpNIPBdnY,rust_crate_type : xYEGtotSMN,vs_module_defs : KygXhWyqyC)
SkslMXHPMv = 'rBabXNPsfa'
cyfyhYdQHR = 'foo.c'
njkfDioEaZ = true
llBcEsvqwB = 'String'
HeIHQKSFuF = [ declare_dependency(), declare_dependency() ]
DDKPXzIrqG = [ 'foo', 'bar' ]
wgrmHtmjBI = 'c'
JBhohrdmGh = [ static_library('gWezZwvrmH', 'foo.c') ]
xJTNiYrOHx = [ static_library('ivFrMOUKbE', 'foo.c') ]
PgHwbfWalU = true
fGiluJEneG = [ include_directories('include'), 'include' ]
dphpPDOPXk = true
IFeNHoaoec = 'String'
QzCmpQujdA = 'rwxr-xr-x'
zEyoMuYzcQ = 'String'
mfAvXuUhUO = [ 'key1=value1', 'key2=value2' ]
yhIiDfCeCp = ''
GgjKLsDzRa = [ include_directories('include'), 'include' ]
rzsQFrwNpG = true
jFMTMvdvvI = [ 'foo', 'bar' ]
dMAfxHqHLv = [ 'foo', 'bar' ]
ZERIfjzcXm = true
PsBiePFxtC = 'String'
fPSRyIUBXg = 'String'
iwwMfxYqMk = 'String'
SAQRDkPhJl = 'bar.txt'
shared_module(SkslMXHPMv,cyfyhYdQHR,build_by_default : njkfDioEaZ,build_rpath : llBcEsvqwB,dependencies : HeIHQKSFuF,extra_files : SCErwTxojo,link_args : DDKPXzIrqG,link_depends : SCErwTxojo,link_language : wgrmHtmjBI,link_whole : JBhohrdmGh,link_with : xJTNiYrOHx,implicit_include_directories : PgHwbfWalU,include_directories : fGiluJEneG,install : dphpPDOPXk,install_dir : IFeNHoaoec,install_mode : QzCmpQujdA,install_rpath : zEyoMuYzcQ,objects : SCErwTxojo,override_options : mfAvXuUhUO,gnu_symbol_visibility : yhIiDfCeCp,d_import_dirs : GgjKLsDzRa,d_unittest : rzsQFrwNpG,d_module_versions : jFMTMvdvvI,d_debug : dMAfxHqHLv,native : ZERIfjzcXm,name_prefix : PsBiePFxtC,name_suffix : fPSRyIUBXg,rust_crate_type : iwwMfxYqMk,vs_module_defs : SAQRDkPhJl)
tvudvDVlGm = 'BKcmnkqAxX'
vXXIOBAxzq = 'foo.c'
tTORTMaRtu = true
EbHqzpRhkI = 'String'
WEtRgVEdxH = [ declare_dependency(), declare_dependency() ]
utFMZSvPKS = [ 'foo', 'bar' ]
VTvGaTvVhk = 'c'
HLhwPbFGxK = [ static_library('OlCbLvkpnL', 'foo.c') ]
oFqfFgSUwq = [ static_library('GfCmYviTGs', 'foo.c') ]
deHTQCFPqf = true
BlyFQoHKOB = [ include_directories('include'), 'include' ]
qEpOiryWBL = true
flqZmWdwiH = 'String'
WleOgcYafk = 'rwxr-xr-x'
POuVRdadsy = 'String'
QEsOjkZuLY = [ 'key1=value1', 'key2=value2' ]
aHpAIearjO = ''
QIjvWdbKcd = [ include_directories('include'), 'include' ]
YViOwcPsPZ = true
arQeQBZFHh = [ 'foo', 'bar' ]
YFTOWUZCdH = [ 'foo', 'bar' ]
zYSWqOWrbB = true
ZYlcilXRRJ = 'String'
LJEtwHCUYP = 'String'
llTlpRHrcs = 'String'
shared_module(tvudvDVlGm,vXXIOBAxzq,build_by_default : tTORTMaRtu,build_rpath : EbHqzpRhkI,dependencies : WEtRgVEdxH,extra_files : SCErwTxojo,link_args : utFMZSvPKS,link_depends : SCErwTxojo,link_language : VTvGaTvVhk,link_whole : HLhwPbFGxK,link_with : oFqfFgSUwq,implicit_include_directories : deHTQCFPqf,include_directories : BlyFQoHKOB,install : qEpOiryWBL,install_dir : flqZmWdwiH,install_mode : WleOgcYafk,install_rpath : POuVRdadsy,objects : SCErwTxojo,override_options : QEsOjkZuLY,gnu_symbol_visibility : aHpAIearjO,d_import_dirs : QIjvWdbKcd,d_unittest : YViOwcPsPZ,d_module_versions : arQeQBZFHh,d_debug : YFTOWUZCdH,native : zYSWqOWrbB,name_prefix : ZYlcilXRRJ,name_suffix : LJEtwHCUYP,rust_crate_type : llTlpRHrcs,vs_module_defs : obj)
dJrfMwOiJr = 'BXTSCDicRF'
MicUrTxbTj = 'foo.c'
tWicdaDgwh = true
zPJJKWegkj = 'String'
coxHZActkK = [ declare_dependency(), declare_dependency() ]
gyezKdTIQt = [ 'foo', 'bar' ]
tmMlzlznbr = 'c'
MWfZomlcwh = [ static_library('MTAdwGVRCv', 'foo.c') ]
HAiHLVwDBl = [ static_library('wQkDZhyWpM', 'foo.c') ]
WpTUTGxdZS = true
yVjwVTpCIf = [ include_directories('include'), 'include' ]
EYqTmGlCRE = true
rVqwfWbQSv = 'String'
bBGFJlvFOR = 'rwxr-xr-x'
LoTSClorXP = 'String'
qhITyecMki = [ 'key1=value1', 'key2=value2' ]
KVHWdibvGd = ''
SKxdXEiZqS = [ include_directories('include'), 'include' ]
ZgAyaGLMhX = true
sscsIugzMK = [ 'foo', 'bar' ]
EnFsGCkZWW = [ 'foo', 'bar' ]
CrErYHybks = true
ucPEwjmudK = 'String'
WQuNykLAqe = 'String'
JiibKKTtbJ = 'String'
MzqukjvKXm = custom_target('VKbshoJmRR', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])
shared_module(dJrfMwOiJr,MicUrTxbTj,build_by_default : tWicdaDgwh,build_rpath : zPJJKWegkj,dependencies : coxHZActkK,extra_files : SCErwTxojo,link_args : gyezKdTIQt,link_depends : SCErwTxojo,link_language : tmMlzlznbr,link_whole : MWfZomlcwh,link_with : HAiHLVwDBl,implicit_include_directories : WpTUTGxdZS,include_directories : yVjwVTpCIf,install : EYqTmGlCRE,install_dir : rVqwfWbQSv,install_mode : bBGFJlvFOR,install_rpath : LoTSClorXP,objects : SCErwTxojo,override_options : qhITyecMki,gnu_symbol_visibility : KVHWdibvGd,d_import_dirs : SKxdXEiZqS,d_unittest : ZgAyaGLMhX,d_module_versions : sscsIugzMK,d_debug : EnFsGCkZWW,native : CrErYHybks,name_prefix : ucPEwjmudK,name_suffix : WQuNykLAqe,rust_crate_type : JiibKKTtbJ,vs_module_defs : MzqukjvKXm)
eDskfktvho = 'hNwwHvVmeL'
umwFVkfDbD = 'foo.c'
vtvBQAJlld = true
QpBvzFzKLA = 'String'
dvDUvCyKuh = [ declare_dependency(), declare_dependency() ]
VjCcjNxbEj = [ 'foo', 'bar' ]
siZzLSHAch = 'c'
qDVsWDHYGT = [ static_library('lbWEVakuWR', 'foo.c') ]
MyAZreKDIw = [ static_library('rVWMpgjlZj', 'foo.c') ]
Krpckzduvo = true
tBPqunzzjn = [ include_directories('include'), 'include' ]
LxrZYsnzTv = true
UJoQxJvjRV = 'String'
jxicQRpEQO = 'rwxr-xr-x'
vuVpZAHyNJ = 'String'
vesMDqsFuC = [ 'key1=value1', 'key2=value2' ]
FPYtgkdete = ''
VumvALPRKs = [ include_directories('include'), 'include' ]
fBIpcvAhSn = true
rlmvNtKEij = [ 'foo', 'bar' ]
wusciYtnpe = [ 'foo', 'bar' ]
jlLsPyxiyf = true
ykCyrLNEPE = 'String'
ZhyHGHZDhI = 'String'
IkezrzqSxC = 'String'
tMcEYhNWRD = custom_target('LwbcRLEqJu', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
shared_module(eDskfktvho,umwFVkfDbD,build_by_default : vtvBQAJlld,build_rpath : QpBvzFzKLA,dependencies : dvDUvCyKuh,extra_files : SCErwTxojo,link_args : VjCcjNxbEj,link_depends : SCErwTxojo,link_language : siZzLSHAch,link_whole : qDVsWDHYGT,link_with : MyAZreKDIw,implicit_include_directories : Krpckzduvo,include_directories : tBPqunzzjn,install : LxrZYsnzTv,install_dir : UJoQxJvjRV,install_mode : jxicQRpEQO,install_rpath : vuVpZAHyNJ,objects : SCErwTxojo,override_options : vesMDqsFuC,gnu_symbol_visibility : FPYtgkdete,d_import_dirs : VumvALPRKs,d_unittest : fBIpcvAhSn,d_module_versions : rlmvNtKEij,d_debug : wusciYtnpe,native : jlLsPyxiyf,name_prefix : ykCyrLNEPE,name_suffix : ZhyHGHZDhI,rust_crate_type : IkezrzqSxC,vs_module_defs : tMcEYhNWRD)
RRTkVXWCma = 'HckEycjfcB'
JJDqlhpTHU = true
LSpqKjHeUj = 'String'
fVppFxLjXv = [ declare_dependency(), declare_dependency() ]
KYtXQcBwjH = [ 'foo', 'bar' ]
NJyQJpXuIN = 'c'
FCNyNBUVgu = [ static_library('juAuxlrwkx', 'foo.c') ]
hDzZmwjrYT = [ static_library('psCfJPrplv', 'foo.c') ]
QvDggaXgGf = true
UBvBONnkKm = [ include_directories('include'), 'include' ]
ZkenWuHdDY = true
GTwlOsnEUW = 'String'
WxCrWaUvwP = 'rwxr-xr-x'
DOwBKvJNZn = 'String'
HkCRJyHuTz = [ 'key1=value1', 'key2=value2' ]
uOnAxbpXQQ = ''
hFdwnJMFoe = include_directories('include')
mOMCPdFfMH = true
tLAhojVFqy = [ 'foo', 'bar' ]
qWseQslxHa = [ 'foo', 'bar' ]
bXNHuQrSRD = true
NJWrzsbTBA = 'String'
YNAboqxzVM = 'String'
ndYniJoEWm = 'String'
dWDSUXqxuJ = 'bar.txt'
shared_module(RRTkVXWCma,SCErwTxojo,build_by_default : JJDqlhpTHU,build_rpath : LSpqKjHeUj,dependencies : fVppFxLjXv,extra_files : SCErwTxojo,link_args : KYtXQcBwjH,link_depends : SCErwTxojo,link_language : NJyQJpXuIN,link_whole : FCNyNBUVgu,link_with : hDzZmwjrYT,implicit_include_directories : QvDggaXgGf,include_directories : UBvBONnkKm,install : ZkenWuHdDY,install_dir : GTwlOsnEUW,install_mode : WxCrWaUvwP,install_rpath : DOwBKvJNZn,objects : SCErwTxojo,override_options : HkCRJyHuTz,gnu_symbol_visibility : uOnAxbpXQQ,d_import_dirs : hFdwnJMFoe,d_unittest : mOMCPdFfMH,d_module_versions : tLAhojVFqy,d_debug : qWseQslxHa,native : bXNHuQrSRD,name_prefix : NJWrzsbTBA,name_suffix : YNAboqxzVM,rust_crate_type : ndYniJoEWm,vs_module_defs : dWDSUXqxuJ)
EAkvBphrKd = 'WYrYCVBkcc'
bNSSqzEILb = true
SOlGnLfXSn = 'String'
fuHvwxtZpd = [ declare_dependency(), declare_dependency() ]
PpJSqMsVrB = [ 'foo', 'bar' ]
HrCkSOVHrV = 'c'
nEYMdJGLzt = [ static_library('FQcDukXWwc', 'foo.c') ]
VZjpSjtnQW = [ static_library('sWHKwVnUwZ', 'foo.c') ]
gAHBNaKnsr = true
UCRMDmDbLG = [ include_directories('include'), 'include' ]
ZBTqcQMKKU = true
GxKdTbyuye = 'String'
aDIHvBSBdu = 'rwxr-xr-x'
NoENbJefvr = 'String'
BdjlVwjIAn = [ 'key1=value1', 'key2=value2' ]
cUnRsfLGDz = ''
BrXOkclNYK = include_directories('include')
wDUYeURmuL = true
UyyYzPBvUb = [ 'foo', 'bar' ]
pRjMnVqDxS = [ 'foo', 'bar' ]
VEHtNwRbas = true
VIaEXLsAZY = 'String'
nxchIJIyYW = 'String'
tCosIIetKz = 'String'
shared_module(EAkvBphrKd,SCErwTxojo,build_by_default : bNSSqzEILb,build_rpath : SOlGnLfXSn,dependencies : fuHvwxtZpd,extra_files : SCErwTxojo,link_args : PpJSqMsVrB,link_depends : SCErwTxojo,link_language : HrCkSOVHrV,link_whole : nEYMdJGLzt,link_with : VZjpSjtnQW,implicit_include_directories : gAHBNaKnsr,include_directories : UCRMDmDbLG,install : ZBTqcQMKKU,install_dir : GxKdTbyuye,install_mode : aDIHvBSBdu,install_rpath : NoENbJefvr,objects : SCErwTxojo,override_options : BdjlVwjIAn,gnu_symbol_visibility : cUnRsfLGDz,d_import_dirs : BrXOkclNYK,d_unittest : wDUYeURmuL,d_module_versions : UyyYzPBvUb,d_debug : pRjMnVqDxS,native : VEHtNwRbas,name_prefix : VIaEXLsAZY,name_suffix : nxchIJIyYW,rust_crate_type : tCosIIetKz,vs_module_defs : obj)
PeSecERYJW = 'zDTxNSfZCh'
rBUOHFdABG = true
OZClnNOYxj = 'String'
ZAKsMKSApS = [ declare_dependency(), declare_dependency() ]
WewHmymHAT = [ 'foo', 'bar' ]
KuYShjXTlG = 'c'
TypzUXpHQK = [ static_library('yftftLOaow', 'foo.c') ]
LfNTzOusUS = [ static_library('BzMWMHgviI', 'foo.c') ]
QEKbrmdjFO = true
WwUbahOPKa = [ include_directories('include'), 'include' ]
vXQfenBxVW = true
yjEhqJSdfA = 'String'
MuTMqjoyzi = 'rwxr-xr-x'
uIwdHxbZUd = 'String'
ozIPukBXCO = [ 'key1=value1', 'key2=value2' ]
IEdjWnfQGp = ''
heWUFnpcby = include_directories('include')
qdAkHfnZSn = true
DClkIMrUDV = [ 'foo', 'bar' ]
EqmfoOZpKh = [ 'foo', 'bar' ]
rWKjHYlxVu = true
mWDVYkYVZJ = 'String'
cLjAsFlFEn = 'String'
ZPyJJSbZOD = 'String'
GiFXfGdwcu = custom_target('KbkFDPEgJj', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])
shared_module(PeSecERYJW,SCErwTxojo,build_by_default : rBUOHFdABG,build_rpath : OZClnNOYxj,dependencies : ZAKsMKSApS,extra_files : SCErwTxojo,link_args : WewHmymHAT,link_depends : SCErwTxojo,link_language : KuYShjXTlG,link_whole : TypzUXpHQK,link_with : LfNTzOusUS,implicit_include_directories : QEKbrmdjFO,include_directories : WwUbahOPKa,install : vXQfenBxVW,install_dir : yjEhqJSdfA,install_mode : MuTMqjoyzi,install_rpath : uIwdHxbZUd,objects : SCErwTxojo,override_options : ozIPukBXCO,gnu_symbol_visibility : IEdjWnfQGp,d_import_dirs : heWUFnpcby,d_unittest : qdAkHfnZSn,d_module_versions : DClkIMrUDV,d_debug : EqmfoOZpKh,native : rWKjHYlxVu,name_prefix : mWDVYkYVZJ,name_suffix : cLjAsFlFEn,rust_crate_type : ZPyJJSbZOD,vs_module_defs : GiFXfGdwcu)
gSxcFkrWna = 'SpWHZtlmEz'
yjqkoHsNir = true
kgyXbLZmsx = 'String'
TuXYqPUOcZ = [ declare_dependency(), declare_dependency() ]
tCiaQzJCpp = [ 'foo', 'bar' ]
FUbgrfJAWG = 'c'
OUGUFmWADX = [ static_library('cOLbymmvJn', 'foo.c') ]
FkGADOhfsT = [ static_library('sFIhwjvQBO', 'foo.c') ]
udtJcpdTKA = true
IfMgdJPsNv = [ include_directories('include'), 'include' ]
zSYNiCdcqh = true
AOkeFxBBUL = 'String'
RlwKwHDvQz = 'rwxr-xr-x'
rlzECHwFHp = 'String'
kbBaLIPSKN = [ 'key1=value1', 'key2=value2' ]
QttAiXWwBw = ''
ovzZoXPXkT = include_directories('include')
ELhiIfaeEH = true
IctKCFhyYG = [ 'foo', 'bar' ]
LelAHcKKmx = [ 'foo', 'bar' ]
CNfFwcLmrP = true
AbcOtbvQuP = 'String'
VYzWTmXMhO = 'String'
HNdmJFoUTO = 'String'
xBXCOmmwld = custom_target('bxFGVtSxUp', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
shared_module(gSxcFkrWna,SCErwTxojo,build_by_default : yjqkoHsNir,build_rpath : kgyXbLZmsx,dependencies : TuXYqPUOcZ,extra_files : SCErwTxojo,link_args : tCiaQzJCpp,link_depends : SCErwTxojo,link_language : FUbgrfJAWG,link_whole : OUGUFmWADX,link_with : FkGADOhfsT,implicit_include_directories : udtJcpdTKA,include_directories : IfMgdJPsNv,install : zSYNiCdcqh,install_dir : AOkeFxBBUL,install_mode : RlwKwHDvQz,install_rpath : rlzECHwFHp,objects : SCErwTxojo,override_options : kbBaLIPSKN,gnu_symbol_visibility : QttAiXWwBw,d_import_dirs : ovzZoXPXkT,d_unittest : ELhiIfaeEH,d_module_versions : IctKCFhyYG,d_debug : LelAHcKKmx,native : CNfFwcLmrP,name_prefix : AbcOtbvQuP,name_suffix : VYzWTmXMhO,rust_crate_type : HNdmJFoUTO,vs_module_defs : xBXCOmmwld)
vLKUKzbigI = 'HuiVfFRpwZ'
JbfffWvhSO = true
rxATOixDdu = 'String'
CJdHljhRXc = [ declare_dependency(), declare_dependency() ]
FsxHaSXauN = [ 'foo', 'bar' ]
gViwbhHOkY = 'c'
MxFOMDpWqa = [ static_library('sswgBoTNVB', 'foo.c') ]
rRmKsMYFkb = [ static_library('yyVMclkmfd', 'foo.c') ]
IomPnPsFXw = true
nygtllBGfP = [ include_directories('include'), 'include' ]
XmGQaENCSw = true
yHOeJtSBdj = 'String'
NBxLOpuNnw = 'rwxr-xr-x'
QDXpENDHAk = 'String'
QXFedfYsyN = [ 'key1=value1', 'key2=value2' ]
rCnFUzreQZ = ''
DnTxzCUtaZ = [ include_directories('include'), 'include' ]
ZUrTQqWYZc = true
juHQgufpve = [ 'foo', 'bar' ]
xnybzaCzlM = [ 'foo', 'bar' ]
KkCHiaQlal = true
gnqXkaaBPo = 'String'
dnJhNLKIRO = 'String'
FislFZQEsz = 'String'
xwoilesCPy = 'bar.txt'
shared_module(vLKUKzbigI,SCErwTxojo,build_by_default : JbfffWvhSO,build_rpath : rxATOixDdu,dependencies : CJdHljhRXc,extra_files : SCErwTxojo,link_args : FsxHaSXauN,link_depends : SCErwTxojo,link_language : gViwbhHOkY,link_whole : MxFOMDpWqa,link_with : rRmKsMYFkb,implicit_include_directories : IomPnPsFXw,include_directories : nygtllBGfP,install : XmGQaENCSw,install_dir : yHOeJtSBdj,install_mode : NBxLOpuNnw,install_rpath : QDXpENDHAk,objects : SCErwTxojo,override_options : QXFedfYsyN,gnu_symbol_visibility : rCnFUzreQZ,d_import_dirs : DnTxzCUtaZ,d_unittest : ZUrTQqWYZc,d_module_versions : juHQgufpve,d_debug : xnybzaCzlM,native : KkCHiaQlal,name_prefix : gnqXkaaBPo,name_suffix : dnJhNLKIRO,rust_crate_type : FislFZQEsz,vs_module_defs : xwoilesCPy)
FFrJiDMZqK = 'EXxqGPpVtz'
WrLvaJFzHq = true
rPKNfPsDcy = 'String'
bDwcKsfYkD = [ declare_dependency(), declare_dependency() ]
wwZqtZeCda = [ 'foo', 'bar' ]
QsjLcZKZsu = 'c'
VGVzBOMrnJ = [ static_library('DoQDEsYneN', 'foo.c') ]
KCavfsXVWv = [ static_library('TOAaiMtVeA', 'foo.c') ]
TCdsWVaByA = true
tPTnjoMXOK = [ include_directories('include'), 'include' ]
celQbERQQO = true
mnpRptrSru = 'String'
QclLQLdlpY = 'rwxr-xr-x'
dUrlKFfonh = 'String'
iaVRIDyuqO = [ 'key1=value1', 'key2=value2' ]
FpQKnvjxxT = ''
XgktmFxVxR = [ include_directories('include'), 'include' ]
HqzpXwGPhG = true
WZYDkXBGFB = [ 'foo', 'bar' ]
LscCECfpIp = [ 'foo', 'bar' ]
sTxdajnnHY = true
ZWLcXuKPOv = 'String'
dBNwPYrFcY = 'String'
HEsXAzyQKY = 'String'
shared_module(FFrJiDMZqK,SCErwTxojo,build_by_default : WrLvaJFzHq,build_rpath : rPKNfPsDcy,dependencies : bDwcKsfYkD,extra_files : SCErwTxojo,link_args : wwZqtZeCda,link_depends : SCErwTxojo,link_language : QsjLcZKZsu,link_whole : VGVzBOMrnJ,link_with : KCavfsXVWv,implicit_include_directories : TCdsWVaByA,include_directories : tPTnjoMXOK,install : celQbERQQO,install_dir : mnpRptrSru,install_mode : QclLQLdlpY,install_rpath : dUrlKFfonh,objects : SCErwTxojo,override_options : iaVRIDyuqO,gnu_symbol_visibility : FpQKnvjxxT,d_import_dirs : XgktmFxVxR,d_unittest : HqzpXwGPhG,d_module_versions : WZYDkXBGFB,d_debug : LscCECfpIp,native : sTxdajnnHY,name_prefix : ZWLcXuKPOv,name_suffix : dBNwPYrFcY,rust_crate_type : HEsXAzyQKY,vs_module_defs : obj)
MUGAuJUbFt = 'BVRrpabZUC'
WEWtBPVfNW = true
rZcDhBsabk = 'String'
BqVmObgIpB = [ declare_dependency(), declare_dependency() ]
AiLiHdFdcV = [ 'foo', 'bar' ]
MIoxVEvJRz = 'c'
OXrfaNGuTx = [ static_library('MkCWLYACmA', 'foo.c') ]
lyheHioYsQ = [ static_library('AovJQHRbsK', 'foo.c') ]
qeTHLtFiis = true
taIYagPhJb = [ include_directories('include'), 'include' ]
TQrDgSQCvm = true
uVaLHrOxUa = 'String'
hhRFcCbYNk = 'rwxr-xr-x'
XwDowiLiPO = 'String'
aAkeddARZM = [ 'key1=value1', 'key2=value2' ]
cDdlclLijO = ''
VoHWGgUway = [ include_directories('include'), 'include' ]
WGWEERsTqB = true
xcmGrBTHYx = [ 'foo', 'bar' ]
jOrytCFbbr = [ 'foo', 'bar' ]
sNXSmxnsUo = true
UgVtvEmeMR = 'String'
ByXssxaPJy = 'String'
fQzQVtPWNU = 'String'
kuszVVdQOX = custom_target('sRhSEFFsNA', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])
shared_module(MUGAuJUbFt,SCErwTxojo,build_by_default : WEWtBPVfNW,build_rpath : rZcDhBsabk,dependencies : BqVmObgIpB,extra_files : SCErwTxojo,link_args : AiLiHdFdcV,link_depends : SCErwTxojo,link_language : MIoxVEvJRz,link_whole : OXrfaNGuTx,link_with : lyheHioYsQ,implicit_include_directories : qeTHLtFiis,include_directories : taIYagPhJb,install : TQrDgSQCvm,install_dir : uVaLHrOxUa,install_mode : hhRFcCbYNk,install_rpath : XwDowiLiPO,objects : SCErwTxojo,override_options : aAkeddARZM,gnu_symbol_visibility : cDdlclLijO,d_import_dirs : VoHWGgUway,d_unittest : WGWEERsTqB,d_module_versions : xcmGrBTHYx,d_debug : jOrytCFbbr,native : sNXSmxnsUo,name_prefix : UgVtvEmeMR,name_suffix : ByXssxaPJy,rust_crate_type : fQzQVtPWNU,vs_module_defs : kuszVVdQOX)
JTFiarMHbG = 'hvzTdZUjeV'
aiHIGdjncE = true
yQGRPfaFSx = 'String'
cISrGyhMkC = [ declare_dependency(), declare_dependency() ]
efHJuPiXnw = [ 'foo', 'bar' ]
jQsibJTMNL = 'c'
BuiNVZuuNA = [ static_library('ToDXxfWyly', 'foo.c') ]
vuPLjTAwzU = [ static_library('LUQGkiVZEI', 'foo.c') ]
dgbHeMfeaV = true
dLmEABarFH = [ include_directories('include'), 'include' ]
gzlYBfnCto = true
bzjqKrOIiK = 'String'
uteGnRHkOG = 'rwxr-xr-x'
bXlgfbJiUu = 'String'
YelZfDNlvc = [ 'key1=value1', 'key2=value2' ]
urCAMNWAUj = ''
wryxSTsnJE = [ include_directories('include'), 'include' ]
XyVhdnpORE = true
kEggaOdryE = [ 'foo', 'bar' ]
OXbgmGgsrd = [ 'foo', 'bar' ]
AsJqrUBwlA = true
WrrhjnvuXY = 'String'
wOoFYlUKeR = 'String'
GGIQDcPtjt = 'String'
mnOpfefLCK = custom_target('tczCzOUYqj', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
shared_module(JTFiarMHbG,SCErwTxojo,build_by_default : aiHIGdjncE,build_rpath : yQGRPfaFSx,dependencies : cISrGyhMkC,extra_files : SCErwTxojo,link_args : efHJuPiXnw,link_depends : SCErwTxojo,link_language : jQsibJTMNL,link_whole : BuiNVZuuNA,link_with : vuPLjTAwzU,implicit_include_directories : dgbHeMfeaV,include_directories : dLmEABarFH,install : gzlYBfnCto,install_dir : bzjqKrOIiK,install_mode : uteGnRHkOG,install_rpath : bXlgfbJiUu,objects : SCErwTxojo,override_options : YelZfDNlvc,gnu_symbol_visibility : urCAMNWAUj,d_import_dirs : wryxSTsnJE,d_unittest : XyVhdnpORE,d_module_versions : kEggaOdryE,d_debug : OXbgmGgsrd,native : AsJqrUBwlA,name_prefix : WrrhjnvuXY,name_suffix : wOoFYlUKeR,rust_crate_type : GGIQDcPtjt,vs_module_defs : mnOpfefLCK)
error('This error is produced to speed up checks and can be ignored ($IGNORE$)')
```
**Expected behaviour**

No crash.

**System parameters**
```
The Meson build system
Version: 0.60.1
Build type: native build
C compiler for the host machine: gcc (gcc 8.3.0 "gcc (x86_64-posix-seh, Built by strawberryperl.com project) 8.3.0")
C linker for the host machine: gcc ld.bfd 2.32
Java compiler for the host machine: javac (unknown 17.0.1)
Host machine cpu family: x86_64
Host machine cpu: x86_64
```



Discussion:
The following buildfile results in the same last trace line:

```meson
project('generated', ['c', 'java'])

lOZRiiTxhE = 'rEdGFiyQxC'
ajWXCFHNzJ = 'foo.c'
sZOKcLWCZP = true
nDYKPnDhJE = 'String'
UgHRlmluER = [ declare_dependency(), declare_dependency() ]
LGemLMDuRB = files('foo.c', 'bar.c')
cfkxnaXSaF = [ 'foo', 'bar' ]
ICERYIVQGu = [ files('foo.c')[0], 'bar.c' ]
VhAACcnqsi = 'c'
jIdcRzLiyQ = [ static_library('LmlSkwPsNW', 'foo.c') ]
tEiVDnobSZ = [ static_library('jxpmwFsZwJ', 'foo.c') ]
ldacnVBURp = true
LwqhlxQQjZ = [ include_directories('include'), 'include' ]
gTAlkEwQUH = true
FFdzylsJcM = 'String'
rOyrmbPiCj = 'rwxr-xr-x'
iMJUzsFDbU = 'String'
cvaMVDLbfI = files('foo.c', 'bar.c')
pdqolhQBuQ = 'String'
MzWdwZJSTs = [ 'key1=value1', 'key2=value2' ]
DfLZHsxMKJ = ''
bgWLwtGbSX = include_directories('include')
hbRdGGJACx = true
VwusymDpEA = [ 'foo', 'bar' ]
gOPqTXdmJW = [ 'foo', 'bar' ]
SKPPksEKEA = true
IoWOOLqXMY = 'String'
jrKACSLlFD = 'String'
iqzUfDOUxe = '0'
iiKhFuLpmJ = '1.0.0'
PiDGzPWcQZ = 1
ZjOjgegbYp = custom_target('LvzAYtycpo', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
LUFvjDWdCX = shared_library(lOZRiiTxhE,ajWXCFHNzJ,build_by_default : sZOKcLWCZP,build_rpath : nDYKPnDhJE,dependencies : UgHRlmluER,extra_files : LGemLMDuRB,link_args : cfkxnaXSaF,link_depends : ICERYIVQGu,link_language : VhAACcnqsi,link_whole : jIdcRzLiyQ,link_with : tEiVDnobSZ,implicit_include_directories : ldacnVBURp,include_directories : LwqhlxQQjZ,install : gTAlkEwQUH,install_dir : FFdzylsJcM,install_mode : rOyrmbPiCj,install_rpath : iMJUzsFDbU,objects : cvaMVDLbfI,name_suffix : pdqolhQBuQ,override_options : MzWdwZJSTs,gnu_symbol_visibility : DfLZHsxMKJ,d_import_dirs : bgWLwtGbSX,d_unittest : hbRdGGJACx,d_module_versions : VwusymDpEA,d_debug : gOPqTXdmJW,native : SKPPksEKEA,name_prefix : IoWOOLqXMY,rust_crate_type : jrKACSLlFD,soversion : iqzUfDOUxe,version : iiKhFuLpmJ,darwin_versions : PiDGzPWcQZ,vs_module_defs : ZjOjgegbYp)
HtayHlQebW = true
LUFvjDWdCX.extract_all_objects(recursive : HtayHlQebW)
oUGVrpAuZF = []
LUFvjDWdCX.extract_objects(oUGVrpAuZF)
mVHBrrQnOm = []
LUFvjDWdCX.extract_objects(mVHBrrQnOm)
LUFvjDWdCX.found()
LUFvjDWdCX.full_path()
LUFvjDWdCX.name()
LUFvjDWdCX.private_dir_include()
error('This error is produced to speed up checks and can be ignored ($IGNORE$)')

```
The following buildfile results in the same last trace line:

```meson
[...]
```
The following buildfile results in the same last trace line:

```meson
[...]
```
The following buildfile results in the same last trace line:

```meson
project('generated', ['c', 'java'])

ZUTbxYssNm = 'MbJDjeoTXi'
kXDJXmWOLw = [ files('foo.c')[0], 'bar.c' ]
oTsWZWFSGg = true
gXHwQoczNQ = 'String'
kjzmviFbVW = [ declare_dependency(), declare_dependency() ]
lpJVWBPtfp = files('foo.c', 'bar.c')
XPDTsjVnCL = [ 'foo', 'bar' ]
zLntFeIEyb = [ files('foo.c')[0], 'bar.c' ]
uBbXcwPhbJ = 'c'
pOvzpsNBha = [ static_library('sRewokXHnt', 'foo.c') ]
uDgCVtRgOc = [ static_library('jxuSrGojgT', 'foo.c') ]
BmQnfnzXol = true
XOxpUDFane = [ include_directories('include'), 'include' ]
ZBYRWtgdfv = true
gSNzcSTtaa = 'String'
FqEHQGyCMP = 'rwxr-xr-x'
JiKbwWIXpW = 'String'
CLjCkMYmJw = files('foo.c', 'bar.c')
kzriGFYtpf = 'String'
JFZcOynnUE = [ 'key1=value1', 'key2=value2' ]
vecQAsGtOX = ''
DVVQzkZFTu = include_directories('include')
HHJFjKpYXC = true
eOnGEzeLBB = [ 'foo', 'bar' ]
YYWfdUfmNF = [ 'foo', 'bar' ]
nANKSbqHYD = true
DjNAvoFglD = 'String'
xpyuFWKLWJ = 'String'
uGQutPtAuv = '0'
LjpcQiAANX = '1.0.0'
cAzLSRXLqm = [ '1' ]
PypLblRnpr = custom_target('GrAWJDsYoK', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
yJpgRNEiUR = shared_library(ZUTbxYssNm,kXDJXmWOLw,build_by_default : oTsWZWFSGg,build_rpath : gXHwQoczNQ,dependencies : kjzmviFbVW,extra_files : lpJVWBPtfp,link_args : XPDTsjVnCL,link_depends : zLntFeIEyb,link_language : uBbXcwPhbJ,link_whole : pOvzpsNBha,link_with : uDgCVtRgOc,implicit_include_directories : BmQnfnzXol,include_directories : XOxpUDFane,install : ZBYRWtgdfv,install_dir : gSNzcSTtaa,install_mode : FqEHQGyCMP,install_rpath : JiKbwWIXpW,objects : CLjCkMYmJw,name_suffix : kzriGFYtpf,override_options : JFZcOynnUE,gnu_symbol_visibility : vecQAsGtOX,d_import_dirs : DVVQzkZFTu,d_unittest : HHJFjKpYXC,d_module_versions : eOnGEzeLBB,d_debug : YYWfdUfmNF,native : nANKSbqHYD,name_prefix : DjNAvoFglD,rust_crate_type : xpyuFWKLWJ,soversion : uGQutPtAuv,version : LjpcQiAANX,darwin_versions : cAzLSRXLqm,vs_module_defs : PypLblRnpr)
qDUHuiwqLa = true
yJpgRNEiUR.extract_all_objects(recursive : qDUHuiwqLa)
LXUPBXmlML = []
yJpgRNEiUR.extract_objects(LXUPBXmlML)
mAYfJECWos = []
yJpgRNEiUR.extract_objects(mAYfJECWos)
yJpgRNEiUR.found()
yJpgRNEiUR.full_path()
yJpgRNEiUR.name()
yJpgRNEiUR.private_dir_include()
error('This error is produced to speed up checks and can be ignored ($IGNORE$)')

```
The following buildfile results in the same last trace line:

```meson
[...]
```
The following buildfile results in the same last trace line:

```meson
[...] # blockbuster 1409 lines 
```
The following buildfile results in the same last trace line:

```meson
project('generated', ['c', 'java'])

dDBvrhHHQv = 'KhFFlndrvF'
tarXgMhqui = 'foo.c'
tjFtNxisoD = true
fAnbIPYsFQ = 'String'
QqqqqxgCCc = [ declare_dependency(), declare_dependency() ]
PMTJIioaqb = files('foo.c', 'bar.c')
skTKAxAryk = [ 'foo', 'bar' ]
yvjhbGYxdw = [ files('foo.c')[0], 'bar.c' ]
rZCSAkJZIc = 'c'
CZVpXBpFke = [ static_library('ZTGLvqOOud', 'foo.c') ]
SsQsPTKUJj = [ static_library('WjLMrXkSYz', 'foo.c') ]
VnStafDqNW = true
rkGkGyBrnY = [ include_directories('include'), 'include' ]
HIkVvTipBh = true
fHmoHJFywA = 'String'
kiZAsoDugD = 'rwxr-xr-x'
RJHKczEjDC = 'String'
jgGfZYCCnN = files('foo.c', 'bar.c')
mrXmaHrmPg = 'String'
kWdVBWzhFB = [ 'key1=value1', 'key2=value2' ]
glrWyeGglH = ''
bzBILFmQYy = include_directories('include')
vSsAsUEyLW = true
xNbApIzggZ = [ 'foo', 'bar' ]
xzJKySAXcI = [ 'foo', 'bar' ]
pzzMZpBeIE = true
lEizXWUcEg = 'String'
HIjiWjBnns = 'String'
KvhpEabDdt = '0'
urTwtiXpei = '1.0.0'
wkHMViumpz = '1'
RDQDayUODv = custom_target('xmvGbOSaHh', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
GcljXldcwd = shared_library(dDBvrhHHQv,tarXgMhqui,build_by_default : tjFtNxisoD,build_rpath : fAnbIPYsFQ,dependencies : QqqqqxgCCc,extra_files : PMTJIioaqb,link_args : skTKAxAryk,link_depends : yvjhbGYxdw,link_language : rZCSAkJZIc,link_whole : CZVpXBpFke,link_with : SsQsPTKUJj,implicit_include_directories : VnStafDqNW,include_directories : rkGkGyBrnY,install : HIkVvTipBh,install_dir : fHmoHJFywA,install_mode : kiZAsoDugD,install_rpath : RJHKczEjDC,objects : jgGfZYCCnN,name_suffix : mrXmaHrmPg,override_options : kWdVBWzhFB,gnu_symbol_visibility : glrWyeGglH,d_import_dirs : bzBILFmQYy,d_unittest : vSsAsUEyLW,d_module_versions : xNbApIzggZ,d_debug : xzJKySAXcI,native : pzzMZpBeIE,name_prefix : lEizXWUcEg,rust_crate_type : HIjiWjBnns,soversion : KvhpEabDdt,version : urTwtiXpei,darwin_versions : wkHMViumpz,vs_module_defs : RDQDayUODv)
YgQkeNaSkB = true
GcljXldcwd.extract_all_objects(recursive : YgQkeNaSkB)
vIlCAtRgPb = []
GcljXldcwd.extract_objects(vIlCAtRgPb)
UvrIlDsaoN = []
GcljXldcwd.extract_objects(UvrIlDsaoN)
GcljXldcwd.found()
GcljXldcwd.full_path()
GcljXldcwd.name()
GcljXldcwd.private_dir_include()
error('This error is produced to speed up checks and can be ignored ($IGNORE$)')

```
The following buildfile results in the same last trace line:

```meson
project('generated', ['c', 'java'])

ylPdIkSozA = 'AxjoxRPRcg'
IopucgZKNs = [ files('foo.c')[0], 'bar.c' ]
GimRlsKVfU = true
leZSwaFwPE = 'String'
HtxHxHPpgR = [ declare_dependency(), declare_dependency() ]
uytUBHcuPQ = files('foo.c', 'bar.c')
ObKQFnRdau = [ 'foo', 'bar' ]
DeFKWFvANH = [ files('foo.c')[0], 'bar.c' ]
NIKAsUIJtI = 'c'
GZJaABhkJJ = [ static_library('VPiYijuIcd', 'foo.c') ]
FKirEPDUJW = [ static_library('OhpxnVAIlz', 'foo.c') ]
JPpdPBkTgY = true
XYppuOOnmG = [ include_directories('include'), 'include' ]
uHvmWzkNIh = true
FUqiJluKKP = 'String'
VDleCvVzrw = 'rwxr-xr-x'
uvtWaBfwFi = 'String'
awpSFSVSHN = files('foo.c', 'bar.c')
hqwKMLpPvt = [ 'key1=value1', 'key2=value2' ]
OkqwYDOGDl = ''
WwbwjqTaPT = include_directories('include')
ckCuDNsWaW = true
CusnaNcBCM = [ 'foo', 'bar' ]
TGZHlRXSWn = [ 'foo', 'bar' ]
vRSgebGcYe = true
fyLNoFuDYx = 'String'
JrJTCqolcZ = 'String'
KebutrOSFe = 'String'
jAtLTqlUIT = custom_target('gwYVWZxOGo', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
ImgwjMRoLM = shared_module(ylPdIkSozA,IopucgZKNs,build_by_default : GimRlsKVfU,build_rpath : leZSwaFwPE,dependencies : HtxHxHPpgR,extra_files : uytUBHcuPQ,link_args : ObKQFnRdau,link_depends : DeFKWFvANH,link_language : NIKAsUIJtI,link_whole : GZJaABhkJJ,link_with : FKirEPDUJW,implicit_include_directories : JPpdPBkTgY,include_directories : XYppuOOnmG,install : uHvmWzkNIh,install_dir : FUqiJluKKP,install_mode : VDleCvVzrw,install_rpath : uvtWaBfwFi,objects : awpSFSVSHN,override_options : hqwKMLpPvt,gnu_symbol_visibility : OkqwYDOGDl,d_import_dirs : WwbwjqTaPT,d_unittest : ckCuDNsWaW,d_module_versions : CusnaNcBCM,d_debug : TGZHlRXSWn,native : vRSgebGcYe,name_prefix : fyLNoFuDYx,name_suffix : JrJTCqolcZ,rust_crate_type : KebutrOSFe,vs_module_defs : jAtLTqlUIT)
usEolLEHmW = true
ImgwjMRoLM.extract_all_objects(recursive : usEolLEHmW)
hkJtaucyJU = []
ImgwjMRoLM.extract_objects(hkJtaucyJU)
bmjHoxjqvW = []
ImgwjMRoLM.extract_objects(bmjHoxjqvW)
ImgwjMRoLM.found()
ImgwjMRoLM.full_path()
ImgwjMRoLM.name()
ImgwjMRoLM.private_dir_include()
error('This error is produced to speed up checks and can be ignored ($IGNORE$)')

```
The following buildfile results in the same last trace line:

```meson
project('generated', ['c', 'java'])

kXqHgQVybV = 'KAoKeCrdzV'
jWIwaKPKBW = 'foo.c'
AnUWQhUkuU = true
FdprKqcjfh = 'String'
DwkOTdGrWM = [ declare_dependency(), declare_dependency() ]
SvxSczAidE = files('foo.c', 'bar.c')
vkOPXBSNhF = [ 'foo', 'bar' ]
jgoSeHUjxY = [ files('foo.c')[0], 'bar.c' ]
plcufwkvNY = 'c'
JSkSCghUUe = [ static_library('zLiDUnUzeH', 'foo.c') ]
qasmVHSLqO = [ static_library('DZUyLZaNwk', 'foo.c') ]
jlMNgEoOjy = true
qxQVeiPCoB = [ include_directories('include'), 'include' ]
DKENuaDvIg = true
cCfeLCjiNw = 'String'
NUEvcEpXiT = 'rwxr-xr-x'
IgNUJSpobW = 'String'
bfZeVwCvjs = files('foo.c', 'bar.c')
BmCNcmnHTW = [ 'key1=value1', 'key2=value2' ]
LHVuSnqqJm = ''
rGeefKXDoQ = include_directories('include')
KlMRJPhGVs = true
TVVJqwyLbP = [ 'foo', 'bar' ]
thLQflrGUQ = [ 'foo', 'bar' ]
wpDtfLzogf = true
SVNIXbUjeH = 'String'
MkNejqTyPx = 'String'
lTBhaKdycF = 'String'
BvWadigGZk = custom_target('xHsoEOzrkk', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
GPnorltunE = shared_module(kXqHgQVybV,jWIwaKPKBW,build_by_default : AnUWQhUkuU,build_rpath : FdprKqcjfh,dependencies : DwkOTdGrWM,extra_files : SvxSczAidE,link_args : vkOPXBSNhF,link_depends : jgoSeHUjxY,link_language : plcufwkvNY,link_whole : JSkSCghUUe,link_with : qasmVHSLqO,implicit_include_directories : jlMNgEoOjy,include_directories : qxQVeiPCoB,install : DKENuaDvIg,install_dir : cCfeLCjiNw,install_mode : NUEvcEpXiT,install_rpath : IgNUJSpobW,objects : bfZeVwCvjs,override_options : BmCNcmnHTW,gnu_symbol_visibility : LHVuSnqqJm,d_import_dirs : rGeefKXDoQ,d_unittest : KlMRJPhGVs,d_module_versions : TVVJqwyLbP,d_debug : thLQflrGUQ,native : wpDtfLzogf,name_prefix : SVNIXbUjeH,name_suffix : MkNejqTyPx,rust_crate_type : lTBhaKdycF,vs_module_defs : BvWadigGZk)
aMdIjwOeRZ = true
GPnorltunE.extract_all_objects(recursive : aMdIjwOeRZ)
yBnpyQKZgb = []
GPnorltunE.extract_objects(yBnpyQKZgb)
HosSfrIaTv = []
GPnorltunE.extract_objects(HosSfrIaTv)
GPnorltunE.found()
GPnorltunE.full_path()
GPnorltunE.name()
GPnorltunE.private_dir_include()
error('This error is produced to speed up checks and can be ignored ($IGNORE$)')

```
The following buildfile results in the same last trace line:

```meson
[...]
```
The following buildfile results in the same last trace line:

```meson
[...]
```
The following buildfile results in the same last trace line:

```meson
project('generated', ['c', 'java'])

ZZHDXDSQow = 'imeZTadInP'
HPvfeRQOdu = 'foo.c'
wqCTZPXlKW = true
eGogabovCZ = 'String'
oIxGUywikD = [ declare_dependency(), declare_dependency() ]
VlJeVyOfZA = files('foo.c', 'bar.c')
vPGpgXxbJA = [ 'foo', 'bar' ]
tRoYyOzAyl = [ files('foo.c')[0], 'bar.c' ]
rcyGhdXfXU = 'c'
vmnEmWXRxX = [ static_library('weNOFHsdgN', 'foo.c') ]
QVJInIffEY = [ static_library('mcEIeUooRf', 'foo.c') ]
SQrTaFZTiY = true
adVsosHhrM = [ include_directories('include'), 'include' ]
jAxtEuPJOr = true
sIAKstIsvV = 'String'
AnxhneqobF = 'rwxr-xr-x'
zxEqasOyyp = 'String'
gLaLepTQIR = files('foo.c', 'bar.c')
QFZxXOwWKo = 'String'
orpaWDcBLv = [ 'key1=value1', 'key2=value2' ]
QxoINQVbQm = ''
TeYLVjRlwB = include_directories('include')
JFpkGJKAwa = true
yYzfAKLkAS = [ 'foo', 'bar' ]
dUVItfZEYn = [ 'foo', 'bar' ]
qdOxBrnuHJ = true
dsBngSRSSa = 'String'
TrdsUujxAx = 'String'
JzswRpJfCy = '0'
lubxlsCIMz = '1.0.0'
uvwtFkiqen = [ '1' ]
wUtzLHQsAz = custom_target('MvbSLjCerQ', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
UPLlwQFXno = shared_library(ZZHDXDSQow,HPvfeRQOdu,build_by_default : wqCTZPXlKW,build_rpath : eGogabovCZ,dependencies : oIxGUywikD,extra_files : VlJeVyOfZA,link_args : vPGpgXxbJA,link_depends : tRoYyOzAyl,link_language : rcyGhdXfXU,link_whole : vmnEmWXRxX,link_with : QVJInIffEY,implicit_include_directories : SQrTaFZTiY,include_directories : adVsosHhrM,install : jAxtEuPJOr,install_dir : sIAKstIsvV,install_mode : AnxhneqobF,install_rpath : zxEqasOyyp,objects : gLaLepTQIR,name_suffix : QFZxXOwWKo,override_options : orpaWDcBLv,gnu_symbol_visibility : QxoINQVbQm,d_import_dirs : TeYLVjRlwB,d_unittest : JFpkGJKAwa,d_module_versions : yYzfAKLkAS,d_debug : dUVItfZEYn,native : qdOxBrnuHJ,name_prefix : dsBngSRSSa,rust_crate_type : TrdsUujxAx,soversion : JzswRpJfCy,version : lubxlsCIMz,darwin_versions : uvwtFkiqen,vs_module_defs : wUtzLHQsAz)
lcDskjnyvR = true
UPLlwQFXno.extract_all_objects(recursive : lcDskjnyvR)
xffhdmhxtX = []
UPLlwQFXno.extract_objects(xffhdmhxtX)
JzXcyntDAl = []
UPLlwQFXno.extract_objects(JzXcyntDAl)
UPLlwQFXno.found()
UPLlwQFXno.full_path()
UPLlwQFXno.name()
UPLlwQFXno.private_dir_include()
error('This error is produced to speed up checks and can be ignored ($IGNORE$)')

```
The following buildfile results in the same last trace line:

```meson
[...]
```
The following buildfile results in the same last trace line:

```meson
project('generated', ['c', 'java'])

ZoVkxrCTZI = 'ejiHmqYkqB'
AwcRaJxVkf = [ files('foo.c')[0], 'bar.c' ]
rGrWeCZorN = true
JHYXTcUMef = 'String'
eCTJMyoyWa = [ declare_dependency(), declare_dependency() ]
exQlaLVNJm = files('foo.c', 'bar.c')
UwqnPADWsj = [ 'foo', 'bar' ]
CdrtLlnAdA = [ files('foo.c')[0], 'bar.c' ]
yvlZCplAKY = 'c'
okMlgqUjpz = [ static_library('VoxOdmXzbB', 'foo.c') ]
RlOejXRynl = [ static_library('HOFtrtoacJ', 'foo.c') ]
DqtjykBVsQ = true
rFgHbsQKyQ = [ include_directories('include'), 'include' ]
dbNXooSNvL = true
KcGxQrFVFj = 'String'
GBasRZtCiO = 'rwxr-xr-x'
ZNyaEdewME = 'String'
gUxqHFQAtf = files('foo.c', 'bar.c')
KNwkdSaTsd = 'String'
JCpUMiSsEY = [ 'key1=value1', 'key2=value2' ]
bGDzsSRGjj = ''
JisRYPNBNt = include_directories('include')
QHfViaGsjL = true
ECfUyQvjPG = [ 'foo', 'bar' ]
bleyVVmVlG = [ 'foo', 'bar' ]
PZyoaCllLU = true
QscpvCJHht = 'String'
HEvpWXFMKy = 'String'
ZGlOdEFgnj = '0'
PGTuaWcJNJ = '1.0.0'
RBguBcBsTu = 1
GSQLIyUBGk = custom_target('XycNIbupdu', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
VbYsIPGoaA = shared_library(ZoVkxrCTZI,AwcRaJxVkf,build_by_default : rGrWeCZorN,build_rpath : JHYXTcUMef,dependencies : eCTJMyoyWa,extra_files : exQlaLVNJm,link_args : UwqnPADWsj,link_depends : CdrtLlnAdA,link_language : yvlZCplAKY,link_whole : okMlgqUjpz,link_with : RlOejXRynl,implicit_include_directories : DqtjykBVsQ,include_directories : rFgHbsQKyQ,install : dbNXooSNvL,install_dir : KcGxQrFVFj,install_mode : GBasRZtCiO,install_rpath : ZNyaEdewME,objects : gUxqHFQAtf,name_suffix : KNwkdSaTsd,override_options : JCpUMiSsEY,gnu_symbol_visibility : bGDzsSRGjj,d_import_dirs : JisRYPNBNt,d_unittest : QHfViaGsjL,d_module_versions : ECfUyQvjPG,d_debug : bleyVVmVlG,native : PZyoaCllLU,name_prefix : QscpvCJHht,rust_crate_type : HEvpWXFMKy,soversion : ZGlOdEFgnj,version : PGTuaWcJNJ,darwin_versions : RBguBcBsTu,vs_module_defs : GSQLIyUBGk)
ccDSfBQgBx = true
VbYsIPGoaA.extract_all_objects(recursive : ccDSfBQgBx)
RsNjfDxKYO = []
VbYsIPGoaA.extract_objects(RsNjfDxKYO)
CWYYgZTrBV = []
VbYsIPGoaA.extract_objects(CWYYgZTrBV)
VbYsIPGoaA.found()
VbYsIPGoaA.full_path()
VbYsIPGoaA.name()
VbYsIPGoaA.private_dir_include()
error('This error is produced to speed up checks and can be ignored ($IGNORE$)')

```
The following buildfile results in the same last trace line:

```meson
project('generated', ['c', 'java'])

qLkpsINFxL = 'bSzDypNIuu'
umEXCEdCMI = [ files('foo.c')[0], 'bar.c' ]
pDMOqArnuL = true
RqicJgtbbF = 'String'
okkMrEBeqP = [ declare_dependency(), declare_dependency() ]
wEQnFnYDJJ = files('foo.c', 'bar.c')
znXXvHkZpj = [ 'foo', 'bar' ]
JHdLisFfdg = [ files('foo.c')[0], 'bar.c' ]
sdgAswDSnP = 'c'
pGcZEaCJTE = [ static_library('juJBNUENSZ', 'foo.c') ]
VxzuOaxkxb = [ static_library('qFrhnQZaLP', 'foo.c') ]
OPulvXMxza = true
pikMKJWhaG = [ include_directories('include'), 'include' ]
WVcyPlHfvY = true
tDlZBOVbDG = 'String'
prggWTvqYn = 'rwxr-xr-x'
wyUawQxWSU = 'String'
vVeAOLnyWB = files('foo.c', 'bar.c')
QzzEEPVFXA = 'String'
soZkwKOHNG = [ 'key1=value1', 'key2=value2' ]
JWHoDtVsIa = ''
bTwfFBfMnO = include_directories('include')
bKaROBShuc = true
hoUhOnPdiF = [ 'foo', 'bar' ]
KzncPCHoxL = [ 'foo', 'bar' ]
wmTEXRrdvX = true
XhvuNbRfYf = 'String'
sCAIvPRSIb = 'String'
QljppNQlLI = '0'
uqTfuFxxzX = '1.0.0'
YhjtuIXsen = '1'
IQEkRvJFcg = custom_target('LSvoSohYvl', output : 'bar.c', input : 'bar.txt', command : [ find_program('script.py'), '@INPUT@', '@OUTPUT@'])[0]
RkiyXfsiXt = shared_library(qLkpsINFxL,umEXCEdCMI,build_by_default : pDMOqArnuL,build_rpath : RqicJgtbbF,dependencies : okkMrEBeqP,extra_files : wEQnFnYDJJ,link_args : znXXvHkZpj,link_depends : JHdLisFfdg,link_language : sdgAswDSnP,link_whole : pGcZEaCJTE,link_with : VxzuOaxkxb,implicit_include_directories : OPulvXMxza,include_directories : pikMKJWhaG,install : WVcyPlHfvY,install_dir : tDlZBOVbDG,install_mode : prggWTvqYn,install_rpath : wyUawQxWSU,objects : vVeAOLnyWB,name_suffix : QzzEEPVFXA,override_options : soZkwKOHNG,gnu_symbol_visibility : JWHoDtVsIa,d_import_dirs : bTwfFBfMnO,d_unittest : bKaROBShuc,d_module_versions : hoUhOnPdiF,d_debug : KzncPCHoxL,native : wmTEXRrdvX,name_prefix : XhvuNbRfYf,rust_crate_type : sCAIvPRSIb,soversion : QljppNQlLI,version : uqTfuFxxzX,darwin_versions : YhjtuIXsen,vs_module_defs : IQEkRvJFcg)
zIpAIxUYQS = true
RkiyXfsiXt.extract_all_objects(recursive : zIpAIxUYQS)
DvhvZTJZnF = []
RkiyXfsiXt.extract_objects(DvhvZTJZnF)
UEhiIxYMWX = []
RkiyXfsiXt.extract_objects(UEhiIxYMWX)
RkiyXfsiXt.found()
RkiyXfsiXt.full_path()
RkiyXfsiXt.name()
RkiyXfsiXt.private_dir_include()
error('This error is produced to speed up checks and can be ignored ($IGNORE$)')

```
Minimal reproducer:
```meson
project('generated', 'c')

vs_def = custom_target(
    output: 'bar.def',
    input: 'bar.txt',
    command: [find_program('script.py')],
)[0]

shared_library('foo', 'foo.c', vs_module_defs: vs_def)
```

```
    self.vs_module_defs = File.from_built_file(path.subdir, path.get_filename())
AttributeError: 'CustomTargetIndex' object has no attribute 'subdir'

t/meson.build:9:0: ERROR: Unhandled python exception

    This is a Meson bug and should be reported!
```

Resolving patch:
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -2383,7 +2383,7 @@ def process_kwargs(self, kwargs):
             elif isinstance(path, File):
                 # When passing a generated file.
                 self.vs_module_defs = path
-            elif hasattr(path, 'get_filename'):
+            elif isinstance(path, CustomTarget):
                 # When passing output of a Custom Target
                 self.vs_module_defs = File.from_built_file(path.subdir, path.get_filename())
             else:
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -807,7 +807,7 @@ def update_project_options(self, options: 'MutableKeyedOptionDictType') -> None:
                 continue
 
             oldval = self.options[key]
-            if type(oldval) != type(value):
+            if type(oldval) is not type(value):
                 self.options[key] = value
             elif oldval.choices != value.choices:
                 # If the choices have changed, use the new value, but attempt
diff --git a/mesonbuild/interpreterbase/baseobjects.py b/mesonbuild/interpreterbase/baseobjects.py
--- a/mesonbuild/interpreterbase/baseobjects.py
+++ b/mesonbuild/interpreterbase/baseobjects.py
@@ -119,12 +119,12 @@ def op_equals(self, other: TYPE_var) -> bool:
         # We use `type(...) == type(...)` here to enforce an *exact* match for comparison. We
         # don't want comparisons to be possible where `isinstance(derived_obj, type(base_obj))`
         # would pass because this comparison must never be true: `derived_obj == base_obj`
-        if type(self) != type(other):
+        if type(self) is not type(other):
             self._throw_comp_exception(other, '==')
         return self == other
 
     def op_not_equals(self, other: TYPE_var) -> bool:
-        if type(self) != type(other):
+        if type(self) is not type(other):
             self._throw_comp_exception(other, '!=')
         return self != other
 
@@ -157,12 +157,12 @@ def display_name(self) -> str:
     # Override default comparison operators for the held object
     def op_equals(self, other: TYPE_var) -> bool:
         # See the comment from InterpreterObject why we are using `type()` here.
-        if type(self.held_object) != type(other):
+        if type(self.held_object) is not type(other):
             self._throw_comp_exception(other, '==')
         return self.held_object == other
 
     def op_not_equals(self, other: TYPE_var) -> bool:
-        if type(self.held_object) != type(other):
+        if type(self.held_object) is not type(other):
             self._throw_comp_exception(other, '!=')
         return self.held_object != other
 


Test patch: