Branch: refs/heads/main
Home:
https://github.com/zeek/spicy
Commit: d9ecb209f2593b038c10ea6d8d05e4a96873d2e9
https://github.com/zeek/spicy/commit/d9ecb209f2593b038c10ea6d8d05e4a96873d2e9
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M hilti/toolchain/src/compiler/cfg.cc
Log Message:
-----------
Include coercions in detection of expressions with side effects
We previously would always consider expressions with coercions as having
side effects which in at least #2404 lead to us generating code which
caused a most vexing parse. Since coercions do not have side effects
themself, extend our detection to include them by querying the behavior
of the coerced expression. This should fix the majority of new failures
introduced by recent rewrites which removed the LHS of assignments; we
will do more structural fixes in follow-up patches.
Closes #2404.
Commit: 451a1df60f9236f4f82fc6e24cd7c55391b68694
https://github.com/zeek/spicy/commit/451a1df60f9236f4f82fc6e24cd7c55391b68694
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M hilti/toolchain/src/compiler/codegen/coercions.cc
M hilti/toolchain/src/compiler/codegen/ctors.cc
M hilti/toolchain/src/compiler/codegen/operators.cc
M tests/Baseline/hilti.hiltic.print.globals/output
M tests/Baseline/hilti.hiltic.print.globals/output2
M tests/Baseline/hilti.hiltic.print.hello-world/output
M tests/Baseline/hilti.hiltic.print.import/output
M tests/Baseline/hilti.hiltic.print.import/output2
M tests/Baseline/hilti.hiltic.print.yield/output
M tests/Baseline/hilti.types.tuple.coercion/output
M tests/Baseline/spicy.tools.preprocessor/output
M tests/Baseline/spicy.tools.spicyc-hello-world/test.hlt
Log Message:
-----------
Disambiguate constructor calls from function declarations
We previously called constructors as `T(..)` which without context could
lead to most vexing parses. In this patch we replace most constructor
calls in type creations and coercions with `T{..}` instead to avoid any
downstream issues, especially since we have passes which might remove
the LHS.
Commit: 2b66bbdd9ec3a2d1a84228df1cc63a7056f03132
https://github.com/zeek/spicy/commit/2b66bbdd9ec3a2d1a84228df1cc63a7056f03132
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M hilti/toolchain/src/compiler/codegen/coercions.cc
Log Message:
-----------
Stop emitting unneeded constructor in codegen for list comprehensions
Since `Set` can implicitly construct from an initializer list, there is
no need to add an explicit constructor call, so in this patch we remove
it to further reduced potential for us accidentially generating code
causing most vexing parses.
Commit: 506eb9d590af9a7c5da2c778e5a59de996ff4ae5
https://github.com/zeek/spicy/commit/506eb9d590af9a7c5da2c778e5a59de996ff4ae5
Author: Benjamin Bannier <
benjamin...@corelight.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M CHANGES
M VERSION
M hilti/toolchain/src/compiler/cfg.cc
M hilti/toolchain/src/compiler/codegen/coercions.cc
M hilti/toolchain/src/compiler/codegen/ctors.cc
M hilti/toolchain/src/compiler/codegen/operators.cc
M tests/Baseline/hilti.hiltic.print.globals/output
M tests/Baseline/hilti.hiltic.print.globals/output2
M tests/Baseline/hilti.hiltic.print.hello-world/output
M tests/Baseline/hilti.hiltic.print.import/output
M tests/Baseline/hilti.hiltic.print.import/output2
M tests/Baseline/hilti.hiltic.print.yield/output
M tests/Baseline/hilti.types.tuple.coercion/output
M tests/Baseline/spicy.tools.preprocessor/output
M tests/Baseline/spicy.tools.spicyc-hello-world/test.hlt
Log Message:
-----------
Merge branch 'topic/bbannier/issue-2404'
Compare:
https://github.com/zeek/spicy/compare/f9346d461473...506eb9d590af
To unsubscribe from these emails, change your notification settings at
https://github.com/zeek/spicy/settings/notifications