File tree Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -698,7 +698,8 @@ impl LateLintPass for VariantSizeDifferences {
698698 if gens. ty_params . is_empty ( ) { // sizes only make sense for non-generic types
699699 let t = cx. tcx . node_id_to_type ( it. id ) ;
700700 let layout = cx. tcx . normalizing_infer_ctxt ( ProjectionMode :: Any ) . enter ( |infcx| {
701- t. layout ( & infcx) . unwrap_or_else ( |e| {
701+ let ty = cx. tcx . erase_regions ( & t) ;
702+ ty. layout ( & infcx) . unwrap_or_else ( |e| {
702703 bug ! ( "failed to get layout for `{}`: {}" , t, e)
703704 } )
704705 } ) ;
Original file line number Diff line number Diff line change 1+ // Copyright 2016 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ #![ feature( rustc_attrs) ]
12+ #![ allow( dead_code) ]
13+
14+ trait RegularExpression : Sized {
15+ type Text ;
16+ }
17+
18+ struct ExecNoSyncStr < ' a > ( & ' a u8 ) ;
19+
20+ impl < ' c > RegularExpression for ExecNoSyncStr < ' c > {
21+ type Text = u8 ;
22+ }
23+
24+ struct FindCaptures < ' t , R > ( & ' t R :: Text ) where R : RegularExpression , R :: Text : ' t ;
25+
26+ enum FindCapturesInner < ' r , ' t > {
27+ Dynamic ( FindCaptures < ' t , ExecNoSyncStr < ' r > > ) ,
28+ }
29+
30+ #[ rustc_error]
31+ fn main ( ) { } //~ ERROR compilation successful
You can’t perform that action at this time.
0 commit comments