Commit 37e1d24
committed
Align generic polymorphism failure semantics
Match the refined System.Text.Json behavior by rejecting derived-type registrations that fail for the requested closed base, including specialization mismatches and generic constraint violations. Expand source-generation, reflection, and cross-provider coverage for the runtime regression matrix.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f5ead997-2f05-463d-acd9-1dbcbd15b13e1 parent e34160b commit 37e1d24
8 files changed
Lines changed: 291 additions & 200 deletions
File tree
- docs/docs
- src
- PolyType.SourceGenerator
- Helpers
- Parser
- PolyType.TestCases
- PolyType/ReflectionProvider
- tests
- PolyType.SourceGenerator.UnitTests
- PolyType.Tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
351 | | - | |
| 351 | + | |
352 | 352 | | |
353 | 353 | | |
| 354 | + | |
354 | 355 | | |
| 356 | + | |
355 | 357 | | |
356 | 358 | | |
357 | 359 | | |
358 | 360 | | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
| 361 | + | |
387 | 362 | | |
388 | 363 | | |
389 | 364 | | |
| |||
Lines changed: 2 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | | - | |
| 8 | + | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
406 | 406 | | |
407 | 407 | | |
408 | 408 | | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
625 | 625 | | |
626 | 626 | | |
627 | 627 | | |
628 | | - | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
633 | | - | |
634 | | - | |
635 | | - | |
636 | 628 | | |
637 | 629 | | |
638 | 630 | | |
| |||
641 | 633 | | |
642 | 634 | | |
643 | 635 | | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | | - | |
654 | 636 | | |
655 | 637 | | |
656 | 638 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
612 | 612 | | |
613 | 613 | | |
614 | 614 | | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
615 | 638 | | |
616 | 639 | | |
617 | 640 | | |
| |||
2771 | 2794 | | |
2772 | 2795 | | |
2773 | 2796 | | |
| 2797 | + | |
| 2798 | + | |
| 2799 | + | |
| 2800 | + | |
| 2801 | + | |
| 2802 | + | |
| 2803 | + | |
| 2804 | + | |
| 2805 | + | |
| 2806 | + | |
| 2807 | + | |
| 2808 | + | |
| 2809 | + | |
| 2810 | + | |
| 2811 | + | |
| 2812 | + | |
| 2813 | + | |
| 2814 | + | |
| 2815 | + | |
| 2816 | + | |
| 2817 | + | |
| 2818 | + | |
| 2819 | + | |
2774 | 2820 | | |
2775 | 2821 | | |
2776 | 2822 | | |
| |||
3599 | 3645 | | |
3600 | 3646 | | |
3601 | 3647 | | |
| 3648 | + | |
| 3649 | + | |
| 3650 | + | |
| 3651 | + | |
3602 | 3652 | | |
3603 | 3653 | | |
3604 | 3654 | | |
| |||
Lines changed: 3 additions & 43 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | | - | |
| 8 | + | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
179 | | - | |
180 | | - | |
| 179 | + | |
181 | 180 | | |
182 | 181 | | |
183 | 182 | | |
184 | | - | |
185 | 183 | | |
186 | 184 | | |
187 | 185 | | |
188 | | - | |
189 | 186 | | |
190 | 187 | | |
191 | 188 | | |
| |||
205 | 202 | | |
206 | 203 | | |
207 | 204 | | |
208 | | - | |
209 | 205 | | |
210 | 206 | | |
211 | 207 | | |
| |||
231 | 227 | | |
232 | 228 | | |
233 | 229 | | |
234 | | - | |
235 | 230 | | |
236 | 231 | | |
237 | 232 | | |
| |||
292 | 287 | | |
293 | 288 | | |
294 | 289 | | |
295 | | - | |
296 | 290 | | |
297 | 291 | | |
298 | 292 | | |
299 | 293 | | |
300 | 294 | | |
301 | 295 | | |
302 | 296 | | |
303 | | - | |
304 | 297 | | |
305 | 298 | | |
306 | 299 | | |
| |||
312 | 305 | | |
313 | 306 | | |
314 | 307 | | |
315 | | - | |
316 | 308 | | |
317 | 309 | | |
318 | 310 | | |
319 | 311 | | |
320 | 312 | | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
335 | | - | |
336 | | - | |
337 | | - | |
338 | | - | |
339 | | - | |
340 | | - | |
341 | | - | |
342 | | - | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | | - | |
350 | | - | |
351 | | - | |
352 | | - | |
Lines changed: 1 addition & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
329 | 329 | | |
330 | 330 | | |
331 | 331 | | |
332 | | - | |
333 | | - | |
| 332 | + | |
334 | 333 | | |
335 | | - | |
336 | | - | |
337 | | - | |
338 | | - | |
339 | | - | |
340 | | - | |
341 | | - | |
342 | | - | |
343 | 334 | | |
344 | 335 | | |
345 | 336 | | |
| |||
348 | 339 | | |
349 | 340 | | |
350 | 341 | | |
351 | | - | |
352 | | - | |
353 | | - | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | 342 | | |
363 | 343 | | |
364 | 344 | | |
| |||
0 commit comments