Repository navigation
[1.30 beta] Unresolved import errors in a few crates #54471
Description
Activity
- addedA-resolveArea: Name/path resolution done by `rustc_resolve` specificallyArea: Name/path resolution done by `rustc_resolve` specificallyT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.Performance or correctness regression from stable to beta.C-bugCategory: This is a bug.Category: This is a bug.
on Sep 22, 2018 The root issue is in the
nalgebracrate and it's something that was fixed betweennalgebra 0.16.0andnalgebra 0.16.1.EDIT:
nalgebra 0.16.1removeduse serde;imports, almost certainly as a response to this regression.The
ipfs-apicrate does not usenlagebraat all. All of these build logs seem to have something wrong withserdeinvolved; for example,ipfs-apigets a lot of errors associated with its use of#[serde(rename_all = "PascalCase")], along the lines of:Sep 21 17:09:54.166 INFO kablam! error: cannot determine resolution for the attribute macro `serde` Sep 21 17:09:54.166 INFO kablam! --> /cargo-home/registry/src/github.com-1ecc6299db9ec823/nalgebra-0.15.3/src/linalg/symmetric_tridiagonal.rs:16:5 Sep 21 17:09:54.166 INFO kablam! | Sep 21 17:09:54.166 INFO kablam! 16 | serde( Sep 21 17:09:54.166 INFO kablam! | ^^^^^ Sep 21 17:09:54.166 INFO kablam! | Sep 21 17:09:54.166 INFO kablam! = note: import resolution is stuck, try simplifying macro importsAll the other build logs appear to have "undefined type or module" along with the error
import resolution is stuck, try simplifying macro imports. Removing theserdeannotations fromipfs-apilets it build successfully, though the protocol it speaks is then incorrect.Yes,
ipfs-apiis a separate case (probably with the same underlying issue in rustc) and it's already tracked separately in #54386, the other regressed crates usenalgebra.Aha, thanks!
Minimized:
#![allow(unused)] #[macro_use] extern crate serde_derive; use self::one::*; use self::two::*; mod serde {} mod one { use serde; #[derive(Serialize)] #[serde] struct One; } mod two { use serde; #[derive(Serialize)] #[serde] struct Two; } fn main() {}
Fixed in #54518
All the crates listed in #54471 (comment) build successfully now.Reacted by Eduardo Pinho
Some crates are failing in 1.30 beta with errors like this one:
0.2.0regressed from stable to beta (build log) cc @ThomasdenH0.5.0-alpha2regressed from stable to beta (build log) cc @ferristseng0.1.0(depends onipfs-api) regressed from stable to beta (build log) cc @icefoxen0.2.1regressed from stable to beta (build log) cc @gadomskicc @petrochenkov