For example, trying to assign a vector, table, set, or record
constructor expression to a global variable of a different type now
provides a more explanatory error message than the previous
"Val::CONVERTER" fatal-error and coredump.
* origin/topic/vern/zval: (42 commits)
whitespace tweaks
resolved some TODO comments
remove unnecessary casts, and change necessary ones to use static_cast<>
explain cmp_func default
change functions for ZVal type management to static members
fix some unsigned/signed integer warnings
address lint concern about uninitialized variable
Remove use of obsolete forward-declaration macros
fix #include's that lack zeek/ prefixes
explicitly populate holes created in vectors
fixes for now-incorrect assumption that GetField always returns an existing ValPtr
memory management for assignment to vector elements
memory management for assignment to record fields
destructor cleanup from ZAM_vector/ZAM_record
fix #include's that lack zeek/ prefixes
overlooked another way in which vector holes can be created
initialize vector holes to the correct corresponding type
explicitly populate holes created in vectors
fix other instances of GetField().get() assuming long-lived ValPtr's
fix for now-incorrect assumption that GetField always returns an existing ValPtr
...
* origin/topic/vern/script-xform: (30 commits)
Adjust some Reducer ref-counting and IntrusivePtr usage
Fix reference counting in ListExpr inline/reduce methods
Simplify WhileStmt::CondPredStmt()
Use std::move() in Case::UpdateBody()
Switch some Stmt transform/reduce logic to use IntrusivePtr
Switch some Expr transform/reduce logic to use IntrusivePtr
Adjust how some Expr::SetOpX() calls use std::move()
Add missing header-includes to Reduce.h
Add std::move() for args to an assign_to_index call
Adjust memory management for &default argument expression type-check
Use string for TempVar::name
Switch AnalyOpt::only_func to optional<string>
Fix a signed/unsigned comparison warning
simplified some vestigial complexity I noticed when flipping through diffs
canonicalization for an error message in one of the alternative test baselines
baseline differences for "xform" alternative: changes generally reflect exposure of transformed code, or error propagation stopping earlier due to error now occurring in an assignment (to a temporary)
new testing alternative for script transformation (= xform)
bug in correctly inspecting test output file
split bifs.string_utils into a non-error test and an only-errors test, to help control for differing error propagation
logic for driving the script optimization process
...