CT BitArray
    Bastiaan Veelo 
    Bastiaan at Veelo.net
       
    Wed Oct 31 23:14:08 UTC 2018
    
    
  
Currently, BitArray is not usable at compile time, so you cannot 
do
```
enum e = BitArray([1, 1, 1, 0]);
```
This gives
> /dlang/dmd/linux/bin64/../../src/phobos/std/bitmanip.d(1190): 
> Error: `bts` cannot be interpreted at compile time, because it 
> has no available source code
IIUC, that is because `bts` comes from core.bitop but no source 
code is there. I am guessing these are filled in by compiler 
intrinsics or the like, and they are unavailable at CT, correct?
I suppose that alternative implementations of `btc`, `bts`, 
`btr`, `bsf` and `bt` could exist that do not use the runtime 
that could be used if(__ctfe) in the implementation of BitArray, 
that would make the above code work. Is this feasible? Is there 
precedent in phobos? Are there complications?
Thanks!
    
    
More information about the Digitalmars-d-learn
mailing list