Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICE: Where clause ... was applicable ... but now its not #21212

Closed
Marwes opened this issue Jan 15, 2015 · 1 comment
Closed

ICE: Where clause ... was applicable ... but now its not #21212

Marwes opened this issue Jan 15, 2015 · 1 comment
Assignees
Labels
A-associated-items Area: Associated items (types, constants & functions) I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@Marwes
Copy link
Contributor

Marwes commented Jan 15, 2015

Got another ICE after updating to the latest nightly to make sure the earlier one was not fixed. Seems to be related to the blanket impl.

pub trait Parser {
    type Input;

    fn parse(input: <Self as Parser>::Input) {
        panic!()
    }
}
impl <P> Parser for P  {
    type Input = ();
}

fn main() {
}

Part of the backtrace (note that it is over a 1000 frames deep):

`  1054:           0x7c145b - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1055:           0x7c131c - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1056:           0x7c0f31 - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1057:           0x7c11ed - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1058:           0x7c10b8 - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1059:           0x7bd3ee - middle::traits::select::SelectionCandidate<'tcx>.Repr<'tcx>::repr::ha7bc649c48dd119duhU
  1060:           0x7af481 - middle::ty::TraitPredicate<'tcx>.RegionEscape::has_regions_escaping_depth::h93030630e46b9a81cXa
  1061:           0x797d9a - middle::traits::select::SelectionContext<'cx, 'tcx>::select::ha331b95dc7b562dcevR
  1062:           0x7a0f6e - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1063:           0x79f46f - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1064:           0x79032a - middle::traits::select::SelectionContext<'cx, 'tcx>::new::h2fee7754856485f2DtR
  1065:           0x7827d2 - middle::traits::project::AssociatedTypeNormalizer<'a, 'b, 'tcx>.TypeFolder<'tcx>::fold_ty::h433ad154c5bfc06ex8P
  1066:           0x78239b - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1067:           0x7822d5 - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1068:           0x7820d1 - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1069:           0x781e01 - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1070:           0x7a0107 - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1071:           0x7c2ce8 - middle::traits::util::upcast::hcb3b96bdfce84abdWDU
  1072:           0x7c145b - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1073:           0x7c131c - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1074:           0x7c0f31 - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1075:           0x7c11ed - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1076:           0x7c10b8 - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1077:           0x7bd3ee - middle::traits::select::SelectionCandidate<'tcx>.Repr<'tcx>::repr::ha7bc649c48dd119duhU
  1078:           0x7af481 - middle::ty::TraitPredicate<'tcx>.RegionEscape::has_regions_escaping_depth::h93030630e46b9a81cXa
  1079:           0x797d9a - middle::traits::select::SelectionContext<'cx, 'tcx>::select::ha331b95dc7b562dcevR
  1080:           0x7a0f6e - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1081:           0x79f46f - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1082:           0x79032a - middle::traits::select::SelectionContext<'cx, 'tcx>::new::h2fee7754856485f2DtR
  1083:           0x7827d2 - middle::traits::project::AssociatedTypeNormalizer<'a, 'b, 'tcx>.TypeFolder<'tcx>::fold_ty::h433ad154c5bfc06ex8P
  1084:           0x78239b - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1085:           0x7822d5 - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1086:           0x7820d1 - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1087:           0x781e01 - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1088:           0x7a0107 - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1089:           0x7c2ce8 - middle::traits::util::upcast::hcb3b96bdfce84abdWDU
  1090:           0x7c145b - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1091:           0x7c131c - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1092:           0x7c0f31 - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1093:           0x7c11ed - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1094:           0x7c10b8 - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1095:           0x7bd3ee - middle::traits::select::SelectionCandidate<'tcx>.Repr<'tcx>::repr::ha7bc649c48dd119duhU
  1096:           0x7af481 - middle::ty::TraitPredicate<'tcx>.RegionEscape::has_regions_escaping_depth::h93030630e46b9a81cXa
  1097:           0x797d9a - middle::traits::select::SelectionContext<'cx, 'tcx>::select::ha331b95dc7b562dcevR
  1098:           0x7a0f6e - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1099:           0x79f46f - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1100:           0x79032a - middle::traits::select::SelectionContext<'cx, 'tcx>::new::h2fee7754856485f2DtR
  1101:           0x7827d2 - middle::traits::project::AssociatedTypeNormalizer<'a, 'b, 'tcx>.TypeFolder<'tcx>::fold_ty::h433ad154c5bfc06ex8P
  1102:           0x78239b - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1103:           0x7822d5 - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1104:           0x7820d1 - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1105:           0x781e01 - middle::ty::TraitRef<'tcx>...std..clone..Clone::clone::hf0f9884211fa7560b81
  1106:           0x7a0107 - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1107:           0x7c2ce8 - middle::traits::util::upcast::hcb3b96bdfce84abdWDU
  1108:           0x7c145b - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1109:           0x7c131c - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1110:           0x7c0f31 - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1111:           0x7c11ed - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1112:           0x7c10b8 - middle::traits::util::transitive_bounds::hc34e0d738f285867ewU
  1113:           0x7bd3ee - middle::traits::select::SelectionCandidate<'tcx>.Repr<'tcx>::repr::ha7bc649c48dd119duhU
  1114:           0x7af481 - middle::ty::TraitPredicate<'tcx>.RegionEscape::has_regions_escaping_depth::h93030630e46b9a81cXa
  1115:           0x797d9a - middle::traits::select::SelectionContext<'cx, 'tcx>::select::ha331b95dc7b562dcevR
  1116:           0x7a0f6e - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1117:           0x79f46f - middle::traits::project::MismatchedProjectionTypes<'tcx>...std..clone..Clone::clone::hd0e53daa7f8cb8b84VP
  1118:           0x79032a - middle::traits::select::SelectionContext<'cx, 'tcx>::new::h2fee7754856485f2DtR
  1119:           0x7827d2 - middle::traits::project::AssociatedTypeNormalizer<'a, 'b, 'tcx>.TypeFolder<'tcx>::fold_ty::h433ad154c5bfc06ex8P
  1120:         0x6d516800 - check::LvaluePreference...std..fmt..Show::fmt::h5272dbd85814d21eQwm
  1121:         0x6d563ca0 - check::CheckItemTypesVisitor<'a, 'tcx>.Visitor<'v>::visit_ty::hf7b2769fbb00c197C2j
  1122:         0x6d567519 - check::GatherLocalsVisitor<'a, 'tcx>.Visitor<'v>::visit_item::h78f3f91a65a28633zek
  1123:         0x6d55ea2a - check::CheckItemTypesVisitor<'a, 'tcx>.Visitor<'v>::visit_item::h7e39ae7a460329b5f2j
  1124:         0x6d623ae0 - check_crate::h33c0c907222d09c6ney
  1125:         0x6d61eb73 - check_crate::h33c0c907222d09c6ney
  1126:         0x70b1842b - driver::phase_3_run_analysis_passes::hc9c3dcc21180760aEEa
  1127:         0x70b02471 - driver::compile_input::h4586659868b7e370Aba
  1128:         0x70bc0717 - run::h6e0f5d9a92373b23M4b
  1129:         0x70bbea98 - run::h6e0f5d9a92373b23M4b
  1130:         0x70bbd91a - run::h6e0f5d9a92373b23M4b
  1131:         0x69c28a8c - rust_try
  1132:         0x69c28a69 - rust_try
  1133:         0x70bbdf4f - run::h6e0f5d9a92373b23M4b
  1134:         0x69bf0e92 - sys::tcp::TcpListener::bind::hfa20d1671f8885a2JHw
  1135:     0x7ffb10d216ad - BaseThreadInitThunk
rustc 1.0.0-nightly (170c4399e 2015-01-14 00:41:55 +0000)
binary: rustc
commit-hash: 170c4399e614fe599c3d41306b3429ca8b3b68c6
commit-date: 2015-01-14 00:41:55 +0000
host: x86_64-pc-windows-gnu
release: 1.0.0-nightly
@Aatch Aatch added the I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ label Jan 16, 2015
@nikomatsakis nikomatsakis added the A-associated-items Area: Associated items (types, constants & functions) label Jan 16, 2015
@nikomatsakis nikomatsakis self-assigned this Jan 16, 2015
@nikomatsakis
Copy link
Contributor

This seems to be fixed by the normalization changes in #21019. The problem was an infinite loop and overflow caused by normalizing the environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-associated-items Area: Associated items (types, constants & functions) I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

No branches or pull requests

3 participants