- match ty_is_non_local_constructor(ty, in_crate) {
- Some(ty) => {
- if let Some(inner_tys) = fundamental_ty_inner_tys(tcx, ty) {
- let tys: Vec<_> = inner_tys
- .filter_map(|ty| ty_is_non_local(tcx, ty, in_crate))
- .flatten()
- .collect();
- if tys.is_empty() { None } else { Some(tys) }
- } else {
- Some(vec![ty])
- }
- }
- None => None,
+ if ty_is_local_constructor(ty, in_crate) {
+ None
+ } else if let Some(inner_tys) = fundamental_ty_inner_tys(tcx, ty) {
+ let tys: Vec<_> =
+ inner_tys.filter_map(|ty| ty_is_non_local(tcx, ty, in_crate)).flatten().collect();
+ if tys.is_empty() { None } else { Some(tys) }
+ } else {
+ Some(vec![ty])