No need for version expression is a lie

Walter Bright newshound2 at digitalmars.com
Tue Aug 22 18:43:40 UTC 2023


On 8/22/2023 3:24 AM, Don wrote:
> where <version_expression> is a boolean expression of <version_identifier> using 
> || and &&.

Still really trying to get away from that.

> 
> If additionally you disallowed version declarations and version statements 
> inside version conditionals, you'd have a one-definition rule and it would be 
> impossible to create a rat's nest. (You could still create a rat's nest with 
> static if, but not with version).

More key features of version:

1. the versions of a module cannot be imported by another module, i.e. they are 
irredeemably private

2. versions cannot be redefined once they are "read". This prevents the 
chicken-and-egg problem, while still allowing them in conditionals



More information about the Digitalmars-d mailing list