Neat 0.2.0: "We live in a society / Bottom type." --Donald Knuth
FeepingCreature
released this
17 Nov 05:29
·
440 commits
to master
since this release
Oh yeah, I make releases. I forgot.
- Tuple field names are now part of the type.
- A tuple implconvs to another by the rule that fields without names convert to fields with names. Fields with conflicting names do not implconv.
- Tuple literals can specify names as
(a=2, b=3)
. - A tuple implconving to another where only names are changed is called a "trivial conversion", ie. a conversion with no effect on the stored data.
- If
T
trivially converts toU
, thenT[]
implicitly converts toU[]
.
- Support template shortcut syntax:
keyword name(T)
=>template name(T) { keyword name {} }
. - Implement nontrivial IFTI.
- Function template calls can now infer template parameters even with indirect relations, such as
(T)(T[] array)
.
- Function template calls can now infer template parameters even with indirect relations, such as
- Array index access is now bounds checked.
- Support class method overloading.
- Add
bottom
type.bottom
is a type that contains no values. The D equivalent is callednoreturn
.break
,continue
andreturn
are expressions of typebottom
. This enables.case(foo: break)
and the like.
And many fixes, the most important one maybe being that-j
should now work reliably.
I also want to direct special attention at the GTK demo, which uses macros to make the GTK object system pretend to be Neat classes.