File tree Expand file tree Collapse file tree 3 files changed +554
-84
lines changed
rust/ql/test/library-tests/type-inference Expand file tree Collapse file tree 3 files changed +554
-84
lines changed Original file line number Diff line number Diff line change @@ -2740,6 +2740,7 @@ mod blanket_impl;
27402740mod closure;
27412741mod dereference;
27422742mod dyn_type;
2743+ mod regressions;
27432744
27442745fn main ( ) {
27452746 field_access:: f ( ) ; // $ target=f
Original file line number Diff line number Diff line change 1+ mod regression1 {
2+
3+ pub struct S < T > ( T ) ;
4+
5+ pub enum E {
6+ V { vec : Vec < E > } ,
7+ }
8+
9+ impl < T > From < S < T > > for Option < T > {
10+ fn from ( s : S < T > ) -> Self {
11+ Some ( s. 0 ) // $ fieldof=S
12+ }
13+ }
14+
15+ pub fn f ( ) -> E {
16+ let mut vec_e = Vec :: new ( ) ; // $ target=new
17+ let mut opt_e = None ;
18+
19+ let e = E :: V { vec : Vec :: new ( ) } ; // $ target=new
20+
21+ if let Some ( e) = opt_e {
22+ vec_e. push ( e) ; // $ target=push
23+ }
24+ opt_e = e. into ( ) ; // $ target=into
25+
26+ #[ rustfmt:: skip]
27+ let _ = if let Some ( last) = vec_e. pop ( ) // $ target=pop
28+ {
29+ opt_e = last. into ( ) ; // $ target=into
30+ } ;
31+
32+ opt_e. unwrap ( ) // $ target=unwrap
33+ }
34+ }
You can’t perform that action at this time.
0 commit comments