You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
//@ check-pass//! This is a reproducer for the ICE 6840: https://github.com/rust-lang/rust-clippy/issues/6840.//! The ICE is caused by `TyCtxt::layout_of` and `is_normalizable` not being strict enough#![allow(dead_code)]use std::collections::HashMap;pubtraitRule{typeDependencyKey;}pubstructRuleEdges<R:Rule>{dependencies:R::DependencyKey,}typeRuleDependencyEdges<R> = HashMap<u32,RuleEdges<R>>;// reproducer from the GitHub issue ends here// but check some additional variantstypeRuleDependencyEdgesArray<R> = HashMap<u32,[RuleEdges<R>;8]>;typeRuleDependencyEdgesSlice<R> = HashMap<u32,&'static[RuleEdges<R>]>;typeRuleDependencyEdgesRef<R> = HashMap<u32,&'staticRuleEdges<R>>;typeRuleDependencyEdgesRaw<R> = HashMap<u32,*constRuleEdges<R>>;typeRuleDependencyEdgesTuple<R> = HashMap<u32,(RuleEdges<R>,RuleEdges<R>)>;// and an additional checks to make sure fix doesn't have stack-overflow issue// on self-containing typespubstructSelfContaining{inner:Box<SelfContaining>,}typeSelfContainingEdges = HashMap<u32,SelfContaining>;fnmain(){}
If a type is incomplete, for example if generic parameters are not
available yet, although they are not escaping, its layout may not be
computable. Calling `TyCtxt::layout_of()` would create a delayed bug in
the compiler.
changelog: [`zero_sized_map_values`]: fix ICE
Fixes#14822
r? @Jarcho
Summary
RUST_BACKTRACE=full ~/.rustup/toolchains/master/bin/clippy-driver a.rs -Wclippy::pedantic
code
Version
Error output
Backtrace
The text was updated successfully, but these errors were encountered: