DLF September 2023 Planning Update
    Adam D Ruppe 
    destructionator at gmail.com
       
    Tue Nov 14 18:40:58 UTC 2023
    
    
  
On Tuesday, 14 November 2023 at 17:57:36 UTC, Steven 
Schveighoffer wrote:
> That's not any better. If you have to opt-in to the language as 
> it exists, people are going to quit immediately.
Counterpoint: javascript's "use strict".
On the gripping hand though, I basically never use that and most 
people prolly don't either. But it is a major language example we 
ought to consider.
* * *
But for existing libraries, I actually have a potential solution 
for that: made dub look at the version tag date.
So, suppose dub determines it wants to use abandoned-library 
version 1.4. It knows version 1.4 was tagged on December 25, 2016.
This could automatically go ahead and add 
`-edition=abandoned.library=2.092` to the build command for that 
lib.
Notice that build command used a package specifier, if an edition 
is specified on the command line, it *MUST* be scoped to a 
specific module (or D package, just like how `-i` works) so when 
it is imported, the compiler can attach the edition tag there 
without affecting other things in the build.
It would basically work like you pass 
`-edition=abandoned.library=2.092` on the cmd line and the 
compiler acts exactly the same as if you wrote `@edition(2.092)` 
when it sees `module abandoned library`.
On the other hand, suppose dub sees a new tag, version 2.0, 
created in 2024. This will be edition 2.107 since it has a date 
range to version map.
We'd have to work out the exact details, but just since dub knows 
the tag date it can make a pretty good automatic guess as to the 
proper version.
    
    
More information about the Digitalmars-d-announce
mailing list