| Age | Commit message (Collapse) | Author | Lines |
|
This function returns true if the given IPv6 is reserved for
documentation. Also, reject this block in the is_global check
|
|
Reject unspecified IP from global
Also fixed the test
|
|
Fix import resolution bug
This fixes #32222, which was introduced in #31726.
|
|
Fixup stout/stderr on Windows
WriteConsoleW can fail if called with a large buffer so we need to slice
any stdout/stderr output.
However the current slicing has a few problems:
1. It slices by byte but still expects valid UTF-8.
2. The slicing happens even when not outputting to a console.
3. panic! output is not sliced.
This fixes these issues by moving the slice to right before
WriteConsoleW and slicing on a char boundary.
|
|
Rollup of 4 pull requests
- Successful merges: #32164, #32179, #32212, #32218
- Failed merges:
|
|
Fix minor typos in doc.rust-lang.org/book
I've made a few typo and grammar fixes as I've been working through the book.
|
|
Don't allow values for codegen-units less than 1
r? @eddyb
fixes #32191
|
|
Removed integer suffixes in libsyntax crate
|
|
Do not report errors from regionck if other errors were already reported
Do not report errors from regionck if other errors were already reported during the lifetime of this inferencer. Fixes #30580.
r? @arielb1
|
|
Add Pass manager for MIR
A new PR, since rebasing the original one (https://github.com/rust-lang/rust/pull/31448) properly was a pain. Since then there has been several changes most notable of which:
1. Removed the pretty-printing with `#[rustc_mir(graphviz/pretty)]`, mostly because we now have `--unpretty=mir`, IMHO that’s the direction we should expand this functionality into;
2. Reverted the infercx change done for typeck, because typeck can make an infercx for itself by being a `MirMapPass`
r? @nikomatsakis
|
|
|
|
|
|
`NameResolution::decrement_outstanding_references`.
|
|
Call str::to_owned in String::from and uninline it
Call str::to_owned in String::from and uninline it
These methods were already effectively equal, but now one calls
the other, and neither is marked inline.
String::from does not need to be inlined, it can be without it just like
str::to_owned and String::clone are.
Fixes #32163
|
|
String::from does not need to be inlined, it can be without it just like
str::to_owned and String::clone are.
|
|
r=nikomatsakis
Fix name resolution in lexical scopes
Currently, `resolve_item_in_lexical_scope` does not check the "ribs" (type parameters and local variables). This can allow items that should be shadowed by type parameters to be named.
For example,
```rust
struct T { i: i32 }
fn f<T>() {
let t = T { i: 0 }; // This use of `T` resolves to the struct, not the type parameter
}
mod Foo {
pub fn f() {}
}
fn g<Foo>() {
Foo::f(); // This use of `Foo` resolves to the module, not the type parameter
}
```
This PR changes `resolve_item_in_lexical_scope` so that it fails when the item is shadowed by a rib (fixes #32120).
This is a [breaking-change], but it looks unlikely to cause breakage in practice.
r? @nikomatsakis
|
|
Add AVX broadcast and conversion intrinsics
This adds the following intrinsics:
* `_mm256_broadcast_pd`
* `_mm256_broadcast_ps`
* `_mm256_cvtepi32_pd`
* `_mm256_cvtepi32_ps`
* `_mm256_cvtpd_epi32`
* `_mm256_cvtpd_ps`
* `_mm256_cvtps_epi32`
* `_mm256_cvtps_pd`
* `_mm256_cvttpd_epi32`
* `_mm256_cvttps_epi32`
The "avx" codegen feature must be enabled to use these.
|
|
|
|
std: Fix tracking issues and clean deprecated APIs
This PR fixes up a number of discrepancies found with tracking issues (some closed, some needed new ones, etc), and also cleans out all pre-1.8 deprecated APIs. The big beast here was dealing with `std::dynamic_lib`, and via many applications of a large hammer it's now out of the standard library.
|
|
|
|
Removes all unstable and deprecated APIs prior to the 1.8 release. All APIs that
are deprecated in the 1.8 release are sticking around for the rest of this
cycle.
Some notable changes are:
* The `dynamic_lib` module was moved into `rustc_back` as the compiler still
relies on a few bits and pieces.
* The `DebugTuple` formatter now special-cases an empty struct name with only
one field to append a trailing comma.
|
|
Statically link run-pass/command-before-exec so it passes not just whenever we happen to bootstrap perfectly.
|
|
Also change output for --unpretty mir to output function names in a prettier way.
|
|
rustdoc: improve crate-local inlining
fixes #28537
r? @alexcrichton
|
|
we happen to bootstrap perfectly.
|
|
|
|
The listed tracking issue was hooked up to the wrong location by accident.
|
|
The referenced issues here were both closed, so hook up a new issue which tracks
specifically the prelude traits being unstable.
|
|
These are all insta-stable anyway, so just properly tag them.
|
|
This isn't exported so it doesn't need a tag.
|
|
Don't want to pollute the source tree!
|
|
|
|
Forbid items with the same name from appearing in overlapping inherent impl blocks
For example, the following is now correctly illegal:
```rust
struct Foo;
impl Foo {
fn id() {}
}
impl Foo {
fn id() {}
}
```
"Overlapping" here is determined the same way it is for traits (and in fact shares the same code path): roughly, there must be some way of substituting any generic types to unify the impls, such that none of the `where` clauses are provably unsatisfiable under such a unification.
Along the way, this PR also introduces an `ImplHeader` abstraction (the first commit) that makes it easier to work with impls abstractly (without caring whether they are trait or inherent impl blocks); see the first commit.
Closes #22889
r? @nikomatsakis
|
|
This makes it output as much valid UTF-8 as it can then return failure.
|
|
|
|
Rollup of 11 pull requests
- Successful merges: #32137, #32158, #32171, #32174, #32178, #32179, #32180, #32181, #32183, #32186, #32197
- Failed merges:
|
|
Add FreeBSD amd64 snapshot
Snapshot itself: https://github.com/dhuseby/rust-manual-snapshots/pull/3
|
|
cleanup int suffixes in libcoretest
|
|
Clarify doc for slice slicing (Index impls)
Clarify doc for slice slicing (Index impls)
This is a follow up for PR #32099 and #32057
|
|
removed suffixes for librustc_front
|
|
removed integer suffixes in librustc_typeck crate
|
|
|
|
cover more linux targets in libstd cargobuild
libstd/build.rs checked the target name against `"unknown-linux"`... That doesn't necessarily apply to all Linux targets as some toolchains for embedded targets will change that `unknown` field to some vendor name. Some shifting around was needed since Android is also a Linux target.
r? @alexcrichton
|
|
|
|
Update getting-started.md
In `rustc 1.7.0` the message that is displayed is now `Rust is ready to roll.`
|
|
Spell fixes for std::ffi doc comments
|
|
Fix a couple compiletest nits.
|
|
lint: mark associated types as live for the dead_code pass
Associated types of trait impls were being excluded from the live list. So types that only appeared in trait impls were being marked as dead code.
|
|
Add missing documentation examples for BinaryHeap.
As part of the ongoing effort to document all methods with examples,
this commit adds the missing examples for the `BinaryHeap` collection
type.
This is part of issue #29348.
r? @steveklabnik
|
|
|