Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upTrack stability of path components #15702
Comments
brson
added
the
A-libs
label
Jul 16, 2014
This comment has been minimized.
This comment has been minimized.
|
cc #8962 |
This comment has been minimized.
This comment has been minimized.
|
cc #8967 as well. We will also need to think carefully about the user experience for the lint for mostly-stable libraries. We may want opt-out at the crate level, or a way of coalescing warnings. |
lifthrasiir
referenced this issue
Nov 18, 2014
Merged
Fix for rust commit 3dcd2157403163789aaf21a9ab3c4d30a7c6494d 'Switch to ... #60
This comment has been minimized.
This comment has been minimized.
|
Nominating for 1.0. This is an important feature that possibly affects several libraries over the course of stabilization after 1.0 (I've already hit this twice with rust-encoding, see above). Also note that this doesn't have a simple workaround with an exception of function. |
nrc
added
the
I-nominated
label
Nov 18, 2014
This comment has been minimized.
This comment has been minimized.
|
P-high, not 1.0. (This is highly desired, but it is not going to block a release.) |
pnkfelix
added
P-medium
and removed
I-nominated
labels
Nov 20, 2014
This comment has been minimized.
This comment has been minimized.
|
Renominating because the ability to correctly detect the stability level of user code has a high impact on the guarantees we can provide. |
brson
added
the
I-nominated
label
Jan 6, 2015
This comment has been minimized.
This comment has been minimized.
|
Assigning 1.0 milestone (it is considered polish, rather than a deep backwards compat issue). |
pnkfelix
added this to the 1.0 milestone
Jan 8, 2015
pnkfelix
removed
the
I-nominated
label
Jan 8, 2015
This comment has been minimized.
This comment has been minimized.
|
@alexcrichton did your patch address this? For some reason it seemed it would be harder, but I don't really know. |
This comment has been minimized.
This comment has been minimized.
|
Unfortunately no, my patch didn't address this. For any path we still only track the stability of the last component. |
This comment has been minimized.
This comment has been minimized.
|
We need to investigate how much of the stdlib is potentially affected by this to decide what to do next (and how to do it). |
pnkfelix
assigned
aturon
Apr 2, 2015
steveklabnik
removed this from the 1.0 milestone
May 21, 2015
This comment has been minimized.
This comment has been minimized.
|
Unfortunately not having this bug fixed means that paths like If we fix this we probably need to have at least a cycle of warnings before turning on the infrastructure. |
brson
added
T-compiler
P-low
labels
Jul 14, 2016
This comment has been minimized.
This comment has been minimized.
|
cc @jseyfried, @petrochenkov, do either of you know if recent work has made this easy to knock out? Also removing @aturon as assignee as it's not actively being worked on |
alexcrichton
unassigned
aturon
Jul 14, 2016
alexcrichton
removed
the
P-medium
label
Jul 14, 2016
This comment has been minimized.
This comment has been minimized.
|
I don't think this can be done now, too much breakage (?).
Nothing that I know about. |
This comment has been minimized.
This comment has been minimized.
|
Perhaps we could have |
This comment has been minimized.
This comment has been minimized.
|
I wouldn't necessarily be too worried about the breakage here as we could turn these new stability violations into warnings for quite some time. We basically just want to communicate to people that the API they are accidentally using is actually stable somewhere else, and it's in their own best interest to use that instead. If it's very difficult to implement in the compiler, though, this could just be something the libs team keeps in mind when stabilizing APIs and we can avoid having unstable modules with stable contents as much as possible. |
petrochenkov
referenced this issue
Nov 12, 2016
Merged
[7/n] rustc: desugar UFCS in HIR and don't use DefMap for associated resolutions. #37676
dtolnay
referenced this issue
Jan 9, 2017
Merged
Stop exporting serde::de::Error as serde::Error #670
steveklabnik
added
T-libs
and removed
A-libs
labels
Mar 24, 2017
Mark-Simulacrum
added
the
A-stability
label
Jun 14, 2017
Mark-Simulacrum
added
the
C-enhancement
label
Jul 21, 2017
Mark-Simulacrum
removed
the
T-libs
label
Sep 10, 2017
petrochenkov
referenced this issue
Jan 6, 2018
Open
Using items from a deprecated module does not warn #47237
ollie27
referenced this issue
Apr 14, 2018
Merged
Add inherent methods in libcore for [T], [u8], str, f32, and f64 #49896
This comment has been minimized.
This comment has been minimized.
|
Still relevant in rustc 1.25.0. This compiles even though the extern crate core;
fn main() {
unsafe { std::intrinsics::copy(&0, &mut 0, 1); }
core::num::Float::is_nan(1.0);
} |
SimonSapin
referenced this issue
Apr 17, 2018
Merged
Unstable features accidentally usable on the Stable release chanel are still unstable #2405
This comment has been minimized.
This comment has been minimized.
|
Now I think this was the correct solution:
|
SimonSapin
added a commit
to SimonSapin/super-metroid
that referenced
this issue
Apr 21, 2018
petrochenkov
referenced this issue
Jun 10, 2018
Merged
refactor: create multiple HIR items for imports #51425
This was referenced Sep 5, 2018
SimonSapin
referenced this issue
Jan 30, 2019
Merged
Wrap write_bytes in a function. Move docs #57997
This comment has been minimized.
This comment has been minimized.
|
maybe we can file this under "maturity" (and try to aim a fix for the next edition...) |
brson commentedJul 16, 2014
The current stability check only checks a few uses: functions and methods. There is much more needed for the coverage to be complete. In particular, every path contains multiple components which should all be checked. Simply checking paths would improve the accuracy of the analysis greatly.
This requires modifying resolve to record the def_id's of path components, not just the entire path.
cc @aturon