1 // PERMUTE_ARGS:
2 // REQUIRED_ARGS: -D -Dd${RESULTS_DIR}/compilable -o-
3 // POST_SCRIPT: compilable/extra-files/ddocAny-postscript.sh 14
4 
5 
6 alias void V;
7 alias double* P;
8 
9 /// -1
10 struct Structure {
11     public P variable;  /// 0
mNoneStructure12     V mNone(lazy P p) {}  /// 1
mPrefixStructure13     pure nothrow V mPrefix(lazy P p) {}   /// 2
mSuffixStructure14     V mSuffix(lazy P p) pure nothrow {}   /// 3
15 //  pure nothrow V mPrefixTemplate(T)(lazy P p, T[] t...) {}   /// 4
mSuffixTemplateStructure16     V mSuffixTemplate(T)(lazy P p, T[] t...) pure nothrow {}   /// 5
17     pure nothrow {
mScopedStructure18         V mScoped(lazy P p) {}    /// 6
19     }
mAutoPrefixStructure20     pure nothrow auto mAutoPrefix(ref P p) { return p; } /// 7
21 //  pure nothrow auto mAutoTemplatePrefix(alias T)(ref T t) { return p; } /// 8
mAutoTemplateSuffixStructure22     auto mAutoTemplateSuffix(alias T)(ref T t) pure nothrow { return p; } /// 9
23     pure nothrow:
mColonStructure24     V mColon(lazy P p) {} /// 10
25 }
26 
27 /// -1
28 class Class {
29     public P variable;  /// 0
mNone(lazy P p)30     V mNone(lazy P p) {}  /// 1
mPrefix(lazy P p)31     pure nothrow V mPrefix(lazy P p) {}   /// 2
mSuffix(lazy P p)32     V mSuffix(lazy P p) pure nothrow {}   /// 3
33 //  pure nothrow V mPrefixTemplate(T)(lazy P p, T[] t...) {}   /// 4
mSuffixTemplate(T)34     V mSuffixTemplate(T)(lazy P p, T[] t...) pure nothrow {}   /// 5
35     pure nothrow {
mScoped(lazy P p)36         V mScoped(lazy P p) {}    /// 6
37     }
mAutoPrefix(ref P p)38     pure nothrow auto mAutoPrefix(ref P p) { return p; } /// 7
39 //  pure nothrow auto mAutoTemplatePrefix(alias T)(ref T t) { return p; } /// 8
mAutoTemplateSuffix(alias T)40     auto mAutoTemplateSuffix(alias T)(ref T t) pure nothrow { return p; } /// 9
41     pure nothrow:
mColon(lazy P p)42     V mColon(lazy P p) {} /// 10
43 }
44 
45 /+
46 /// -1
47 struct StructTemplate() {
48     public P variable;  /// 0
49     V mNone(lazy P p) {}  /// 1
50     pure nothrow V mPrefix(lazy P p) {}   /// 2
51     V mSuffix(lazy P p) pure nothrow {}   /// 3
52 //  pure nothrow V mPrefixTemplate(T)(lazy P p, T[] t...) {}   /// 4
53     V mSuffixTemplate(T)(lazy P p, T[] t...) pure nothrow {}   /// 5
54     pure nothrow {
55         V mScoped(lazy P p) {}    /// 6
56     }
57     pure nothrow auto mAutoPrefix(ref P p) { return p; } /// 7
58 //  pure nothrow auto mAutoTemplatePrefix(alias T)(ref T t) { return p; } /// 8
59     auto mAutoTemplateSuffix(alias T)(ref T t) pure nothrow { return p; } /// 9
60     pure nothrow:
61     V mColon(lazy P p) {} /// 10
62 }
63 
64 /// -1
65 interface Interface {
66     V mNone(lazy P p) ;  /// 1
67     pure nothrow V mPrefix(lazy P p) ;   /// 2
68     V mSuffix(lazy P p) pure nothrow ;   /// 3
69 //  pure nothrow V mPrefixTemplate(T)(lazy P p, T[] t...) ;   /// 4
70     V mSuffixTemplate(T)(lazy P p, T[] t...) pure nothrow ;   /// 5
71     pure nothrow {
72         V mScoped(lazy P p) ;    /// 6
73     }
74 //  pure nothrow auto mAutoTemplatePrefix(alias T)(ref T t) { return p; } /// 8
75     auto mAutoTemplateSuffix(alias T)(ref T t) pure nothrow { return p; } /// 9
76     pure nothrow:
77     V mColon(lazy P p) ; /// 10
78 }
79 +/
80 
81 public P variable;  /// 0
mNone(lazy P p)82 V mNone(lazy P p) {}  /// 1
mPrefix(lazy P p)83 pure nothrow V mPrefix(lazy P p) {}   /// 2
mSuffix(lazy P p)84 V mSuffix(lazy P p) pure nothrow {}   /// 3
85 //  pure nothrow V mPrefixTemplate(T)(lazy P p, T[] t...) {}   /// 4
mSuffixTemplate(T)86 V mSuffixTemplate(T)(lazy P p, T[] t...) pure nothrow {}   /// 5
87 pure nothrow {
mScoped(lazy P p)88     V mScoped(lazy P p) {}    /// 6
89 }
mAutoPrefix(ref P p)90 pure nothrow auto mAutoPrefix(ref P p) { return p; } /// 7
91 //  pure nothrow auto mAutoTemplatePrefix(alias T)(ref T t) { return p; } /// 8
mAutoTemplateSuffix(alias T)92 auto mAutoTemplateSuffix(alias T)(ref T t) pure nothrow { return p; } /// 9
93 pure nothrow:
mColon(lazy P p)94 V mColon(lazy P p) {} /// 10
95 
96 
97 
98