It's just not useful. It also makes it hard to have tests that probe
internal state, since the interning number is very sensitive.
Dumping the number in the case of gensym is not ideal but will do for
now.
It's inefficient, and the substitution there doesn't account for the
extra regions used by NLL inference, so it's a bad thing to encourage.
As it happens all callers already know if they have a closure or not,
from what I can tell.
ui tests are the future, especially since the
recent improvement where we have gained
checking and requiring of //~ERROR comments.
The tidy feature-gate test check is intended
to be 50% an actual insurance that there is
a check, and 50% to be a teacher that such
checks are required.
With this commit applied, newbies might
interpret stuff wrongly and create tests
that don't fail but succeed instead.
This is not what feature gate tests are
for though. Therefore, in a later step,
when only ui tests are allowed to be feature
gate tests, we will add checking to ensure
that a file marked as gate test is actually
required to be a compilation failure.
Right now implementing such a check is a
bit annoying as one needs to only do it
when the compile-fail test is in the
ui test suite :/.
compiletest: account for `ui` reference files when deciding to skip
The stamp files for compiletest were ignoring `.stderr` and `.stdout` files. This was driving me crazy.
r? @alexcrichton
Stabilize abi_sysv64
Closes#36167, stabilizing the use of the "sysv64" ABI on x64 platforms where it is not the default ABI.
FCP on this is complete in the tracking issue.
rustc_mir: promote references of statics from other statics.
Fixes#46522 by also allowing `STATIC_REF` in MIR const-qualification, not just AST rvalue promotion.
Display `\t` in diagnostics code as four spaces
Follow up to #44386 using the unicode variable width machinery from #45711 to replace tabs in the source code when displaying a diagnostic error with four spaces (instead of only one), while properly accounting for this when calculating underlines.
Partly addresses #44618.
MIR borrowck: implement union-and-array-compatible semantics
Fixes#44831.
Fixes#44834.
Fixes#45537.
Fixes#45696 (by implementing DerefPure semantics, which is what we want going forward).
r? @nikomatsakis
Give compile_error macro examples
I cannot get Rust to build at all with it complaining about GCC not being a valid C compiler or something, so letting TravisCI be my tester...
Fixes#46171
Update old link
The CONTRIBUTING.md page currently links to an old wiki page in rust-lang/rust-wiki-backup. There is a more up-to-date page in-tree so I changed the link to point there so new contributors can find it more easily.
Mention the name of ? in Result's docs
Fixes#42725
or at least, this is the best we can really do. #35946 is tracking
better errors already, so that should cover the other part of it.
coherence: fix is_knowable logic
A trait-ref that passes the orphan-check rules can still be implemented in a crate downstream from our crate (for example, `LocalType for LocalTrait<_>` might be matched by a `LocalType for LocalTrait<TypeFromDownstreamCrate>`), and this should be known by the `is_knowable` logic.
Trait selection had a hackfix for this, but it's an hacky fix that does not handle all cases. This patch removes it.
fixes#43355.
r? @nikomatsakis
Needs a crater run