@@ -357,5 +357,208 @@ error: layout_of(NonZeroU32New) = Layout {
357
357
LL | struct NonZeroU32New(pattern_type!(u32 is 1..));
358
358
| ^^^^^^^^^^^^^^^^^^^^
359
359
360
- error: aborting due to 5 previous errors
360
+ error: layout_of((u32) is 1..=0) = Layout {
361
+ size: Size(4 bytes),
362
+ align: AbiAndPrefAlign {
363
+ abi: Align(4 bytes),
364
+ pref: $SOME_ALIGN,
365
+ },
366
+ abi: Scalar(
367
+ Initialized {
368
+ value: Int(
369
+ I32,
370
+ false,
371
+ ),
372
+ valid_range: (..=0) | (1..),
373
+ },
374
+ ),
375
+ fields: Primitive,
376
+ largest_niche: Some(
377
+ Niche {
378
+ offset: Size(0 bytes),
379
+ value: Int(
380
+ I32,
381
+ false,
382
+ ),
383
+ valid_range: (..=0) | (1..),
384
+ },
385
+ ),
386
+ variants: Single {
387
+ index: 0,
388
+ },
389
+ max_repr_align: None,
390
+ unadjusted_abi_align: Align(4 bytes),
391
+ randomization_seed: $SEED,
392
+ }
393
+ --> $DIR/range_patterns.rs:22:1
394
+ |
395
+ LL | type EMPTY = pattern_type!(u32 is 1..1);
396
+ | ^^^^^^^^^^
397
+
398
+ error[E0080]: evaluation of constant value failed
399
+ --> $DIR/range_patterns.rs:25:37
400
+ |
401
+ LL | type WRAP = pattern_type!(u32 is 1..0);
402
+ | ^ attempt to compute `0_u32 - 1_u32`, which would overflow
403
+
404
+ error: the type has an unknown layout
405
+ --> $DIR/range_patterns.rs:25:1
406
+ |
407
+ LL | type WRAP = pattern_type!(u32 is 1..0);
408
+ | ^^^^^^^^^
409
+
410
+ error: layout_of((u32) is 5..=1) = Layout {
411
+ size: Size(4 bytes),
412
+ align: AbiAndPrefAlign {
413
+ abi: Align(4 bytes),
414
+ pref: $SOME_ALIGN,
415
+ },
416
+ abi: Scalar(
417
+ Initialized {
418
+ value: Int(
419
+ I32,
420
+ false,
421
+ ),
422
+ valid_range: (..=1) | (5..),
423
+ },
424
+ ),
425
+ fields: Primitive,
426
+ largest_niche: Some(
427
+ Niche {
428
+ offset: Size(0 bytes),
429
+ value: Int(
430
+ I32,
431
+ false,
432
+ ),
433
+ valid_range: (..=1) | (5..),
434
+ },
435
+ ),
436
+ variants: Single {
437
+ index: 0,
438
+ },
439
+ max_repr_align: None,
440
+ unadjusted_abi_align: Align(4 bytes),
441
+ randomization_seed: $SEED,
442
+ }
443
+ --> $DIR/range_patterns.rs:29:1
444
+ |
445
+ LL | type WRAP2 = pattern_type!(u32 is 5..2);
446
+ | ^^^^^^^^^^
447
+
448
+ error: layout_of((i8) is -10..=10) = Layout {
449
+ size: Size(1 bytes),
450
+ align: AbiAndPrefAlign {
451
+ abi: Align(1 bytes),
452
+ pref: $SOME_ALIGN,
453
+ },
454
+ abi: Scalar(
455
+ Initialized {
456
+ value: Int(
457
+ I8,
458
+ true,
459
+ ),
460
+ valid_range: (..=10) | (246..),
461
+ },
462
+ ),
463
+ fields: Primitive,
464
+ largest_niche: Some(
465
+ Niche {
466
+ offset: Size(0 bytes),
467
+ value: Int(
468
+ I8,
469
+ true,
470
+ ),
471
+ valid_range: (..=10) | (246..),
472
+ },
473
+ ),
474
+ variants: Single {
475
+ index: 0,
476
+ },
477
+ max_repr_align: None,
478
+ unadjusted_abi_align: Align(1 bytes),
479
+ randomization_seed: $SEED,
480
+ }
481
+ --> $DIR/range_patterns.rs:32:1
482
+ |
483
+ LL | type SIGN = pattern_type!(i8 is -10..=10);
484
+ | ^^^^^^^^^
485
+
486
+ error: layout_of((i8) is i8::MIN..=0) = Layout {
487
+ size: Size(1 bytes),
488
+ align: AbiAndPrefAlign {
489
+ abi: Align(1 bytes),
490
+ pref: $SOME_ALIGN,
491
+ },
492
+ abi: Scalar(
493
+ Initialized {
494
+ value: Int(
495
+ I8,
496
+ true,
497
+ ),
498
+ valid_range: (..=0) | (128..),
499
+ },
500
+ ),
501
+ fields: Primitive,
502
+ largest_niche: Some(
503
+ Niche {
504
+ offset: Size(0 bytes),
505
+ value: Int(
506
+ I8,
507
+ true,
508
+ ),
509
+ valid_range: (..=0) | (128..),
510
+ },
511
+ ),
512
+ variants: Single {
513
+ index: 0,
514
+ },
515
+ max_repr_align: None,
516
+ unadjusted_abi_align: Align(1 bytes),
517
+ randomization_seed: $SEED,
518
+ }
519
+ --> $DIR/range_patterns.rs:35:1
520
+ |
521
+ LL | type MIN = pattern_type!(i8 is -128..=0);
522
+ | ^^^^^^^^
523
+
524
+ error: layout_of((i8) is 120..=-120) = Layout {
525
+ size: Size(1 bytes),
526
+ align: AbiAndPrefAlign {
527
+ abi: Align(1 bytes),
528
+ pref: $SOME_ALIGN,
529
+ },
530
+ abi: Scalar(
531
+ Initialized {
532
+ value: Int(
533
+ I8,
534
+ true,
535
+ ),
536
+ valid_range: 120..=136,
537
+ },
538
+ ),
539
+ fields: Primitive,
540
+ largest_niche: Some(
541
+ Niche {
542
+ offset: Size(0 bytes),
543
+ value: Int(
544
+ I8,
545
+ true,
546
+ ),
547
+ valid_range: 120..=136,
548
+ },
549
+ ),
550
+ variants: Single {
551
+ index: 0,
552
+ },
553
+ max_repr_align: None,
554
+ unadjusted_abi_align: Align(1 bytes),
555
+ randomization_seed: $SEED,
556
+ }
557
+ --> $DIR/range_patterns.rs:38:1
558
+ |
559
+ LL | type SignedWrap = pattern_type!(i8 is 120..=-120);
560
+ | ^^^^^^^^^^^^^^^
561
+
562
+ error: aborting due to 12 previous errors
361
563
564
+ For more information about this error, try `rustc --explain E0080`.
0 commit comments