libc fails to migrate
Closed this issue · 3 comments
nikomatsakis commented
@teiesti helpfully reported that libc
fails to migrate successfully:
$ cargo +nightly build
Compiling libc v0.2.41 (file:///home/tobias/dev/libc)
error[E0463]: can't find crate for `dox`
--> src/macros.rs:44:16
|
44 | impl ::dox::Copy for $i {}
| ^^^ can't find crate
|
::: src/unix/mod.rs:19:1
|
19 | / s! {
20 | | pub struct group {
21 | | pub gr_name: *mut crate::c_char,
22 | | pub gr_passwd: *mut crate::c_char,
... |
186 | | }
187 | | }
| |_- in this macro invocation
error: aborting due to previous error
aturon commented
Mark-Simulacrum commented
Milestoned for preview 2, needs to be diagnosed/checked. Not critical to fix by then; fix by RC.
alexcrichton commented
Ok running this locally it looks like there's two separate bugs here.
- First is that
cargo fix
isn't yet handling exact duplicate fixes (aka two lint suggestions for the same suggestion for the exact same span of code). This is the same bug as rust-lang/cargo#5785 and is being fixed in #52720 - Second is that we don't handle generics well, for example
::foo<::Bar>
gets overlapping suggestions, one for the whole path and one for the generic parameter. This was also reported as rust-lang/cargo#5797 and reported a standalone issue for this at #52754. Otherwise this can also be tracked in Cargo with rust-lang/cargo#5813 which has some thoughts about how to make progress.
With all that I think this is pretty well in hand, so closing.