| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/ice15922.d(23): Error: function `ice15922.ValidSparseDataStore!int.ValidSparseDataStore.correctedInsert!false.correctedInsert` has no `return` statement, but is expected to return a value of type `int` |
| fail_compilation/ice15922.d(21): Error: template instance `ice15922.ValidSparseDataStore!int.ValidSparseDataStore.correctedInsert!false` error instantiating |
| fail_compilation/ice15922.d(26): instantiated from here: `ValidSparseDataStore!int` |
| fail_compilation/ice15922.d(14): Error: need `this` for `insert` of type `pure nothrow @nogc @safe int()` |
| fail_compilation/ice15922.d(26): Error: template instance `ice15922.StorageAttributes!(ValidSparseDataStore!int)` error instantiating |
| --- |
| */ |
| |
| template StorageAttributes(Store) |
| { |
| enum hasInsertMethod = Store.insert; |
| enum hasFullSlice = Store.init[]; |
| } |
| struct ValidSparseDataStore(DataT) |
| { |
| DataT insert() |
| { |
| correctedInsert!(false); |
| } |
| DataT correctedInsert(bool CorrectParents)() {} |
| auto opSlice() inout {} |
| } |
| alias BasicCubeT = StorageAttributes!(ValidSparseDataStore!int); |