On 2016-11-16 01:11, Timon Gehr wrote:

Yup. There are many features missing that are quite easy to implement
but require work, and a few that are somewhat messy to specify (e.g.
'protected'). An incomplete list:

* UDA's
* Built-in members (init, stringof, min, max, ...)
* various forms of import statements
   - static, selective, renaming, ...
* Initialization of union fields
* anonymous structs & unions
   - Analysis & Lowering
* additional import paths & implicit object.d
* implicit inheritance from Object
* version declarations
* Associative arrays/Associative array literals
* module declarations
* (implicit) super constructor calls
   - default constructor call insertion
   - flow analysis
* Destructor and postblit calls
   - use flow analysis to optimize moves
* with statements
* associative arrays
* foreach statements
   - automatic decoding for string types
   - foreach over associative arrays
   - foreach over delegates
   - foreach over AliasSeq
* pattern matching in old-style template constraints
* explicit casts from/to class references
   - eg. to/from void* and to bool
* try-catch-finally statements
* scope guards
* initialization crossing check
* multi-argument struct constructors.
* struct postblit & destructors
* finish operator overloading support
* opDispatch
* member alias declarations aliasing members
   - correctly provide a this pointer
* visibility
   - package, protected
* alias this

Is it "only" semantic analysis that is missing for these features or lexing and/or parsing as well?

--
/Jacob Carlborg

Reply via email to