File tree Expand file tree Collapse file tree 9 files changed +128
-0
lines changed Expand file tree Collapse file tree 9 files changed +128
-0
lines changed Original file line number Diff line number Diff line change 1+ // build-fail
2+ // ignore-emscripten no asm! support
3+ // Regression test for #69092
4+
5+ #![ feature( asm) ]
6+
7+ fn main ( ) {
8+ unsafe { asm ! ( ".ascii \" Xen\0 \" " ) ; }
9+ //~^ ERROR: <inline asm>:1:9: error: expected string in '.ascii' directive
10+ }
Original file line number Diff line number Diff line change 1+ error: <inline asm>:1:9: error: expected string in '.ascii' directive
2+ .ascii "Xen
3+ ^
4+
5+ --> $DIR/issue-69092.rs:8:14
6+ |
7+ LL | unsafe { asm!(".ascii \"Xen\0\""); }
8+ | ^^^^^^^^^^^^^^^^^^^^^^^^^
9+
10+ error: aborting due to previous error
11+
Original file line number Diff line number Diff line change 1+ // Regression test for #62504
2+
3+ #![ feature( const_generics) ]
4+ #![ allow( incomplete_features) ]
5+
6+ trait HasSize {
7+ const SIZE : usize ;
8+ }
9+
10+ impl < const X : usize > HasSize for ArrayHolder < { X } > {
11+ const SIZE : usize = X ;
12+ }
13+
14+ struct ArrayHolder < const X : usize > ( [ u32 ; X ] ) ;
15+
16+ impl < const X : usize > ArrayHolder < { X } > {
17+ pub const fn new ( ) -> Self {
18+ ArrayHolder ( [ 0 ; Self :: SIZE ] )
19+ //~^ ERROR: array lengths can't depend on generic parameters
20+ }
21+ }
22+
23+ fn main ( ) {
24+ let mut array = ArrayHolder :: new ( ) ;
25+ }
Original file line number Diff line number Diff line change 1+ error: array lengths can't depend on generic parameters
2+ --> $DIR/issue-62504.rs:18:25
3+ |
4+ LL | ArrayHolder([0; Self::SIZE])
5+ | ^^^^^^^^^^
6+
7+ error: aborting due to previous error
8+
Original file line number Diff line number Diff line change 1+ // Regression test for #67739
2+
3+ #![ allow( incomplete_features) ]
4+ #![ feature( const_generics) ]
5+
6+ use std:: mem;
7+
8+ pub trait Trait {
9+ type Associated : Sized ;
10+
11+ fn associated_size ( & self ) -> usize {
12+ [ 0u8 ; mem:: size_of :: < Self :: Associated > ( ) ] ;
13+ //~^ ERROR: array lengths can't depend on generic parameters
14+ 0
15+ }
16+ }
17+
18+ fn main ( ) { }
Original file line number Diff line number Diff line change 1+ error: array lengths can't depend on generic parameters
2+ --> $DIR/issue-67739.rs:12:15
3+ |
4+ LL | [0u8; mem::size_of::<Self::Associated>()];
5+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6+
7+ error: aborting due to previous error
8+
Original file line number Diff line number Diff line change 1+ // Regression test for #58490
2+
3+ macro_rules! a {
4+ ( @1 $i: item ) => {
5+ a! { @2 $i }
6+ } ;
7+ ( @2 $i: item ) => {
8+ $i
9+ } ;
10+ }
11+ mod b {
12+ a ! {
13+ @1
14+ #[ macro_export]
15+ macro_rules! b { ( ) => ( ) }
16+ }
17+ #[ macro_export]
18+ macro_rules! b { ( ) => ( ) }
19+ //~^ ERROR: the name `b` is defined multiple times
20+ }
21+ mod c {
22+ #[ allow( unused_imports) ]
23+ use crate :: b;
24+ }
25+
26+ fn main ( ) { }
Original file line number Diff line number Diff line change 1+ error[E0428]: the name `b` is defined multiple times
2+ --> $DIR/issue-58490.rs:18:5
3+ |
4+ LL | macro_rules! b { () => () }
5+ | -------------- previous definition of the macro `b` here
6+ ...
7+ LL | macro_rules! b { () => () }
8+ | ^^^^^^^^^^^^^^ `b` redefined here
9+ |
10+ = note: `b` must be defined only once in the macro namespace of this module
11+
12+ error: aborting due to previous error
13+
14+ For more information about this error, try `rustc --explain E0428`.
Original file line number Diff line number Diff line change 1+ // check-pass
2+ // compile-flags: --emit=mir,link
3+ // Regression test for #60390, this ICE requires `--emit=mir` flag.
4+
5+ fn main ( ) {
6+ enum Inner { Member ( u32 ) } ;
7+ Inner :: Member ( 0 ) ;
8+ }
You can’t perform that action at this time.
0 commit comments