diff options
| author | gralpli <ranuberger@gmx.net> | 2017-01-17 22:52:43 +0100 |
|---|---|---|
| committer | gralpli <ranuberger@gmx.net> | 2017-01-17 22:52:43 +0100 |
| commit | 9fd3860e567545a5512c5155516d3e4cd866a5f2 (patch) | |
| tree | fe95e5d899094aa8cf43a531d52b5c2792af449b | |
| parent | 45b273af4a48e9625749286049326abe4fce064c (diff) | |
| download | rust-9fd3860e567545a5512c5155516d3e4cd866a5f2.tar.gz rust-9fd3860e567545a5512c5155516d3e4cd866a5f2.zip | |
Fix ICE when compiling fn f<T: ?for<'a> Sized>() {}
| -rw-r--r-- | src/librustc_typeck/collect.rs | 1 | ||||
| -rw-r--r-- | src/test/run-pass/issue-39089.rs | 13 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/librustc_typeck/collect.rs b/src/librustc_typeck/collect.rs index f832bf8d86e..33309000f06 100644 --- a/src/librustc_typeck/collect.rs +++ b/src/librustc_typeck/collect.rs @@ -1665,7 +1665,6 @@ fn is_unsized<'gcx: 'tcx, 'tcx>(astconv: &AstConv<'gcx, 'tcx>, for ab in ast_bounds { if let &hir::TraitTyParamBound(ref ptr, hir::TraitBoundModifier::Maybe) = ab { if unbound.is_none() { - assert!(ptr.bound_lifetimes.is_empty()); unbound = Some(ptr.trait_ref.clone()); } else { span_err!(tcx.sess, span, E0203, diff --git a/src/test/run-pass/issue-39089.rs b/src/test/run-pass/issue-39089.rs new file mode 100644 index 00000000000..c3a58844547 --- /dev/null +++ b/src/test/run-pass/issue-39089.rs @@ -0,0 +1,13 @@ +// Copyright 2012 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +fn f<T: ?for<'a> Sized>() {} + +fn main() {} |
