Commit dcbde67
fix(spec-0030): resolve solution-wide CS8604/CS8601/CS8618 from string?-widened operators
D8 widened nine core value-type implicit operators from `operator string(T)`
to the null-safe `operator string?(T) => t?.Value` (commit cb3e4ef, matching
the ChannelName precedent). Because src/Directory.Build.props sets
TreatWarningsAsErrors, every call site feeding one of these conversions into a
non-nullable string broke at compile time. The earlier fixes (6262cc1,
7f451cd) only covered Paramore.Brighter and ServiceActivator; a full-solution
build across all TFMs surfaced 326 more sites across ~28 src assemblies plus the
dependent test projects.
Fix (mechanical, behaviour-preserving): use `.Value` at each call site where the
value type is non-nullable, and `?.Value ?? <existing fallback>` where the source
is itself nullable (e.g. MessageHeader.ReplyTo, Publication.Topic). A few sites
that were already guarded non-null by an upstream IsNullOrEmpty-throw use
`Topic!.Value`, matching the established repo convention.
Tenant (Transformers.JustSaying) is reverted to the non-nullable
`operator string`: it is a readonly record struct, so its receiver can never be
null and `tenant?.Value` was both unnecessary and invalid (CS0023).
Test-only fixes (fallout from the Phase 2 contract retyping, surfaced once src
compiled): `Assert.Equal(n, x.Version)` -> `.Version.Value` across the
BoxProvisioning migration tests, and the MySQL fake VersionCapturingMigrationRunner
MigrateAsync override retyped to the value-type IAmABoxMigrationRunner signature.
Full solution now builds clean across netstandard2.0;net8.0;net9.0;net10.0 (and
net462/net472 where applicable).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 9bdc82f commit dcbde67
79 files changed
Lines changed: 331 additions & 331 deletions
File tree
- src
- Paramore.Brighter.BoxProvisioning.MsSql
- Paramore.Brighter.BoxProvisioning.MySql
- Paramore.Brighter.BoxProvisioning.PostgreSql
- Paramore.Brighter.BoxProvisioning.Sqlite
- Paramore.Brighter.Inbox.DynamoDB.V4
- Paramore.Brighter.Inbox.DynamoDB
- Paramore.Brighter.Inbox.Firestore
- Paramore.Brighter.Inbox.MongoDb
- Paramore.Brighter.MessageScheduler.AWS.V4
- Paramore.Brighter.MessageScheduler.AWS
- Paramore.Brighter.MessagingGateway.AWSSQS.V4
- Paramore.Brighter.MessagingGateway.AWSSQS
- Paramore.Brighter.MessagingGateway.AzureServiceBus
- Paramore.Brighter.MessagingGateway.GcpPubSub
- Paramore.Brighter.MessagingGateway.Kafka
- Paramore.Brighter.MessagingGateway.MQTT
- Paramore.Brighter.MessagingGateway.MsSql
- Paramore.Brighter.MessagingGateway.Postgres
- Paramore.Brighter.MessagingGateway.RMQ.Async
- Paramore.Brighter.MessagingGateway.RMQ.Sync
- Paramore.Brighter.MessagingGateway.Redis
- Paramore.Brighter.MessagingGateway.RocketMQ
- Paramore.Brighter.Outbox.DynamoDB.V4
- Paramore.Brighter.Outbox.DynamoDB
- Paramore.Brighter.Outbox.Firestore
- Paramore.Brighter.Outbox.MongoDb
- Paramore.Brighter.ServiceActivator.Control/Extensions
- Paramore.Brighter.Transformers.JustSaying
- tests
- Paramore.Brighter.MSSQL.Tests/BoxProvisioning
- Paramore.Brighter.MySQL.Tests/BoxProvisioning
- Paramore.Brighter.PostgresSQL.Tests/BoxProvisioning
- Paramore.Brighter.Sqlite.Tests/BoxProvisioning
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
430 | 430 | | |
431 | 431 | | |
432 | 432 | | |
433 | | - | |
| 433 | + | |
434 | 434 | | |
435 | 435 | | |
436 | 436 | | |
| |||
450 | 450 | | |
451 | 451 | | |
452 | 452 | | |
453 | | - | |
| 453 | + | |
454 | 454 | | |
455 | 455 | | |
456 | 456 | | |
457 | 457 | | |
458 | 458 | | |
459 | 459 | | |
460 | | - | |
| 460 | + | |
461 | 461 | | |
462 | 462 | | |
463 | 463 | | |
| |||
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
213 | | - | |
| 213 | + | |
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
| |||
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
232 | | - | |
| 232 | + | |
233 | 233 | | |
234 | 234 | | |
235 | 235 | | |
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
239 | | - | |
| 239 | + | |
240 | 240 | | |
241 | 241 | | |
242 | 242 | | |
| |||
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
462 | 462 | | |
463 | 463 | | |
464 | 464 | | |
465 | | - | |
| 465 | + | |
466 | 466 | | |
467 | 467 | | |
468 | 468 | | |
| |||
482 | 482 | | |
483 | 483 | | |
484 | 484 | | |
485 | | - | |
| 485 | + | |
486 | 486 | | |
487 | 487 | | |
488 | 488 | | |
489 | 489 | | |
490 | 490 | | |
491 | 491 | | |
492 | | - | |
| 492 | + | |
493 | 493 | | |
494 | 494 | | |
495 | 495 | | |
| |||
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
282 | 282 | | |
283 | 283 | | |
284 | 284 | | |
285 | | - | |
| 285 | + | |
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
289 | 289 | | |
290 | 290 | | |
291 | | - | |
| 291 | + | |
292 | 292 | | |
293 | 293 | | |
294 | 294 | | |
295 | 295 | | |
296 | | - | |
| 296 | + | |
297 | 297 | | |
298 | 298 | | |
299 | 299 | | |
300 | 300 | | |
301 | | - | |
| 301 | + | |
302 | 302 | | |
303 | 303 | | |
304 | 304 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
146 | | - | |
| 146 | + | |
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
138 | | - | |
| 138 | + | |
139 | 139 | | |
140 | 140 | | |
141 | 141 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| |||
282 | 282 | | |
283 | 283 | | |
284 | 284 | | |
285 | | - | |
| 285 | + | |
286 | 286 | | |
287 | 287 | | |
288 | 288 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
| 66 | + | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| |||
159 | 159 | | |
160 | 160 | | |
161 | 161 | | |
162 | | - | |
| 162 | + | |
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
| |||
172 | 172 | | |
173 | 173 | | |
174 | 174 | | |
175 | | - | |
| 175 | + | |
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
| |||
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
264 | 264 | | |
265 | 265 | | |
266 | 266 | | |
267 | | - | |
| 267 | + | |
268 | 268 | | |
269 | 269 | | |
270 | 270 | | |
271 | 271 | | |
272 | | - | |
| 272 | + | |
273 | 273 | | |
274 | 274 | | |
275 | 275 | | |
| |||
289 | 289 | | |
290 | 290 | | |
291 | 291 | | |
292 | | - | |
| 292 | + | |
293 | 293 | | |
294 | 294 | | |
295 | 295 | | |
296 | 296 | | |
297 | | - | |
| 297 | + | |
298 | 298 | | |
299 | 299 | | |
300 | 300 | | |
| |||
0 commit comments