@talios @myfear yeah #ProjectLeyden explicitly calls out that certain condensers (condensations?) are only possible if you disable dynamic class loading, reflection, etc., and so if a user opts-in to use a particular condenser, they will lose access to those features.
Presumably the non-usage of reflection etc. is checked at compile time when you specify you want to apply a given condenser.
@talios @myfear Java already automatically does some of the #optimizations that #constexpr would enable (the OP mentions "Compile-time constant folding").
#ProjectLeyden seems to provide a framework for defining #condensers more easily. Perhaps a library can provide an `@ConstExpr` annotation alongside a #compiler plugin to do exactly what you would expect coming from a C++ background -- such as warn you when your expression isn't actually a compile time constant.
#optimizations #constexpr #projectleyden #condensers #compiler