Commit 615ba2d
committed
Introduce type-safe
This yields the following `ByRefLikeArgument` type hierarchy on .NET 8:
ByRefLikeArgument
^
|
+-- SpanArgument<T>
|
|
+-- ReadOnlySpanArgument<T>
While on .NET 9, there is an intermediate generic type (which wouldn't
be allowed on earlier runtimes):
ByRefLikeArgument
^
|
+-- ByRefLikeArgument<TByRefLike>
^
|
+-- SpanArgument<T>
| (with TByRefLike = Span<T>)
|
|
+-- ReadOnlySpanArgument<T>
(with TByRefLike = ReadOnlySpan<T>)
The intention behind those different hiearchies is to give .NET 8 users
a type-safe argument wrapper for spans, too (because those have become
commonly encountered types), while allowing .NET 9 code to ignore those
specialized span variants and testing only for the more generic inter-
mediate type.
Hopefully this won't bite us in the future.[ReadOnly]SpanArgument<T> for .NET 81 parent fac7242 commit 615ba2d
File tree
2 files changed
+114
-11
lines changed- src
- Castle.Core.Tests/DynamicProxy.Tests
- Castle.Core/DynamicProxy
2 files changed
+114
-11
lines changedLines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
206 | 206 | | |
207 | 207 | | |
208 | 208 | | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
209 | 213 | | |
210 | 214 | | |
211 | 215 | | |
| |||
244 | 248 | | |
245 | 249 | | |
246 | 250 | | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
247 | 255 | | |
248 | 256 | | |
249 | 257 | | |
| |||
282 | 290 | | |
283 | 291 | | |
284 | 292 | | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
285 | 297 | | |
286 | 298 | | |
287 | 299 | | |
| |||
323 | 335 | | |
324 | 336 | | |
325 | 337 | | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
326 | 342 | | |
327 | 343 | | |
328 | 344 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
34 | 33 | | |
35 | 34 | | |
36 | 35 | | |
37 | 36 | | |
38 | 37 | | |
39 | 38 | | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
44 | 58 | | |
45 | | - | |
46 | | - | |
| 59 | + | |
| 60 | + | |
47 | 61 | | |
48 | | - | |
49 | | - | |
50 | | - | |
| 62 | + | |
| 63 | + | |
51 | 64 | | |
52 | | - | |
53 | 65 | | |
54 | 66 | | |
55 | 67 | | |
| |||
103 | 115 | | |
104 | 116 | | |
105 | 117 | | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
106 | 193 | | |
107 | 194 | | |
108 | 195 | | |
0 commit comments