File tree Expand file tree Collapse file tree 5 files changed +93
-0
lines changed
Expand file tree Collapse file tree 5 files changed +93
-0
lines changed Original file line number Diff line number Diff line change 1+ rustc -Zmir-opt-level=3 --emit=mir -Zdump-mir=all - 2>&1 << EOF
2+
3+ // run-pass
4+
5+ #![allow(dead_code, unused_imports)]
6+ #![feature(no_core)]
7+ #![no_core]
8+ // edition:2018
9+
10+ extern crate std;
11+ extern crate core;
12+ use core::{prelude::v1::*, *};
13+
14+ fn foo() {
15+ for _ in &[()] {}
16+ }
17+
18+ fn bar() -> Option<()> {
19+ None?
20+ }
21+
22+ fn main() {}
23+
24+
25+ fn bar2() -> Option<()> {
26+ None?
27+ }
28+
29+ fn bar3() {
30+ match Option::<Option<()>>::None {
31+ Some(v) => {}
32+ None => {}
33+ }
34+ }
35+
36+ EOF
Original file line number Diff line number Diff line change 1+ extern "C" {
2+ static FOO : [ usize ; usize:: MAX ] ;
3+ }
4+
5+ pub fn main ( ) { }
Original file line number Diff line number Diff line change 1+ #![ recursion_limit = "1000" ]
2+
3+ use std:: marker:: PhantomData ;
4+
5+ struct Z ;
6+ struct S < T > ( PhantomData < T > ) ;
7+
8+ type Nested = S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < S < Z > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ;
9+
10+ trait AsNum {
11+ const NUM : u32 ;
12+ }
13+
14+ impl AsNum for Z {
15+ const NUM : u32 = 0 ;
16+ }
17+
18+ impl < T : AsNum > AsNum for S < T > {
19+ const NUM : u32 = T :: NUM + 1 ;
20+ }
21+
22+ fn main ( ) {
23+ println ! ( "{}" , Nested :: NUM ) ;
24+ }
Original file line number Diff line number Diff line change 1+ struct D ;
2+
3+ trait Tr {
4+ type It ;
5+ fn foo ( self ) -> Option < Self :: It > ;
6+ }
7+
8+ impl < ' a > Tr for & ' a D {
9+ type It = ( ) ;
10+ fn foo ( self ) -> Option < ( ) > { None }
11+ }
12+
13+ fn run < F > ( f : F )
14+ where for < ' a > & ' a D : Tr ,
15+ F : Fn ( <& D as Tr >:: It ) ,
16+ {
17+ let d = & D ;
18+ while let Some ( i) = d. foo ( ) {
19+ f ( i) ;
20+ }
21+ }
22+
23+ fn main ( ) {
24+ run ( |_| { } ) ;
25+ }
Original file line number Diff line number Diff line change 1+ fn e ( ) {
2+ p: a<p: p<e=6 >>
3+ }
You can’t perform that action at this time.
0 commit comments