- 15 7月, 2018 8 次提交
-
-
由 Zack M. Davis 提交于
-
由 bors 提交于
Update clippy and rls r? @Manishearth cc @kennytm @nrc
-
由 Oliver Schneider 提交于
-
由 bors 提交于
Removed the promotable field from CheckCrateVisitor... and replaced it with the custom enum Promotability. r? @oli-obk
-
由 Meade Kincke 提交于
Removed the promotable field from CheckCrateVisitor and replaced it with the structs Promotable and NotPromotable.
-
由 bors 提交于
rustc: Tweak expansion of #[proc_macro] for 2018 The syntactical expansion of `#[proc_macro]` and related attributes currently contains absolute paths which conflicts with a lint for the 2018 edition, causing issues like #52214. This commit puts a band-aid on the issue by ensuring that procedural macros can also migrate to the 2018 edition for now by tweaking the expansion based on what features are activated. A more long-term solution would probably tweak the edition hygiene of spans, but this should do the trick for now. Closes #52214
-
由 bors 提交于
Revert #52212 (revert set opt-level = 3) Setting -O3 causes LLVM to spuriously segfault at least on Linux. This PR reverts to -O2. cc #52378
-
由 bors 提交于
Remove most of `PartialEq` and `Hash` impls from AST and HIR structures Continuation of https://github.com/rust-lang/rust/pull/49326, prerequisite for removing `PartialEq` for `Ident`.
-
- 14 7月, 2018 32 次提交
-
-
由 Vadim Petrochenkov 提交于
-
由 Vadim Petrochenkov 提交于
-
由 Vadim Petrochenkov 提交于
-
由 Vadim Petrochenkov 提交于
-
由 bors 提交于
Set opt-level = 3 the third time. This PR reverts #51165 (set -O2 for fixing #50867), which reverted #50329 (set -O3), which was second attempt of #48204 (set -O3, closed due to Windows segfault that is fixed now), which reverted #42123 (set -O2 to fix spurious Windows segfaults), which reverted #41967 (set -O3). Since we have found the root cause of #50867, this optimization could be tried again. Last time we've found that setting -O3 regressed the wall time of NLL (https://github.com/rust-lang/rust/pull/50329#issuecomment-388084894), so we may need another perf run to confirm. I'd like to check this *after* the LLVM 7 upgrade #51966 has been merged, so marking this as <kbd>S-blocked</kbd> for now.
-
由 bors 提交于
Don't display default generic parameters in diagnostics that compare types In errors like: ``` expected type: `RawVec<foo, Global>` found type: `foo` ``` `RawVec` being defined as `RawVec<T, A: Alloc = Global>`, the error is better written as ``` expected type: `RawVec<foo>` found type: `foo` ``` In fact, that is already what happens when `foo` is not an ADT, because in that case, the diagnostic handler doesn't try to highlight something, and just uses the `Display` trait instead of its own logic. e.g. ``` expected type: `RawVec<usize>` found type: `usize` ```
-
由 bors 提交于
proc_macro: Fix crate root detection Fixes https://github.com/rust-lang/rust/issues/52270
-
由 bors 提交于
Fix ICE when using a pointer cast as array size Fixes #52023. I'm not sure if the comment https://github.com/rust-lang/rust/issues/52023#issuecomment-402402392 suggested we also emit `E0080`, but just emitting `E0018` seems reasonable for now. r? @oli-obk
-
由 bors 提交于
Add the `amdgpu-kernel` ABI. Technically, there are requirements imposed by the LLVM `AMDGPUTargetMachine` on functions with this ABI (eg, the return type must be void), but I'm unsure exactly where this should be enforced.
-
由 Richard Diamond 提交于
Technically, there are requirements imposed by the LLVM `AMDGPUTargetMachine` on functions with this ABI (eg, the return type must be void), but I'm unsure exactly where this should be enforced.
-
由 bors 提交于
Preliminary work for incremental ThinLTO. Since implementing incremental ThinLTO is a bit more involved than I initially thought, I'm splitting out some of the things that already work. This PR (1) adds a way accessing some ThinLTO information in `rustc` and (2) does some cleanup around CGU/object file naming (which makes things quite a bit nicer). This is probably best reviewed one commit at a time.
-
由 bors 提交于
Rollup of 17 pull requests Successful merges: - #51962 (Provide llvm-strip in llvm-tools component) - #52003 (Implement `Option::replace` in the core library) - #52156 (Update std::ascii::ASCIIExt deprecation notes) - #52280 (llvm-tools-preview: fix build-manifest) - #52290 (Deny bare trait objects in src/librustc_save_analysis) - #52293 (Deny bare trait objects in librustc_typeck) - #52299 (Deny bare trait objects in src/libserialize) - #52300 (Deny bare trait objects in librustc_target and libtest) - #52302 (Deny bare trait objects in the rest of rust) - #52310 (Backport 1.27.1 release notes to master) - #52315 (Resolve FIXME(#27942)) - #52316 (task: remove wrong comments about non-existent LocalWake trait) - #52322 (Update llvm-rebuild-trigger in light of LLVM 7 upgrade) - #52330 (Don't silently ignore invalid data in target spec) - #52333 (CI: Enable core dump on Linux, and print their stack trace on segfault. ) - #52346 (Fix typo in improper_ctypes suggestion) - #52350 (Bump bootstrap compiler to 1.28.0-beta.10) Failed merges: r? @ghost
-
由 kennytm 提交于
Bump bootstrap compiler to 1.28.0-beta.10 r? @Mark-Simulacrum
-
由 kennytm 提交于
Fix typo in improper_ctypes suggestion closes #52345
-
由 kennytm 提交于
CI: Enable core dump on Linux, and print their stack trace on segfault.
-
由 kennytm 提交于
Don't silently ignore invalid data in target spec This is technically a breaking change, but only because invalid data was previously silently being ignored.
-
由 kennytm 提交于
Update llvm-rebuild-trigger in light of LLVM 7 upgrade Not triggering a LLVM rebuild [since the LLVM 7 upgrade](https://github.com/rust-lang/rust/pull/51966#issuecomment-404624633) causes builds of rustc to fail. r? @alexcrichton
-
由 kennytm 提交于
task: remove wrong comments about non-existent LocalWake trait ~~A `LocalWaker` is specifically `!Send `, and the unsafety comment around `LocalWaker::new` only specifies that it be safe to call `wake_local`. One could then accidentally promote a `LocalWaker` into a `Waker`, which is universally `Send`, simply via `Waker::from(local_waker)`. A `LocalWaker` the was built expecting to not be `Send`, such as using `Rc`, could be sent to other threads safely.~~ ~~Separately, though somewhat related, `Context` holds a `&LocalWaker` internally, and exposes a `waker() -> &Waker` method. This simply transmutes the `&LocalWaker` to `&Waker`, which would be unsound, except that you can't "send" a `&Waker`, you'd need to clone it first. Since `UnsafeWake::clone_raw` requires that it return a `Waker`, the transmute is not unsound. The transmuted `LocalWaker` will be promoted to a `Waker` correctly.~~ ~~That would mean that if `UnsafeWake::clone_raw` were to be changed, such as returning `Self` instead of `Waker`, this would no longer be sound. Thus, this also adds a comment to `clone_raw` to remember this.~~ r? @cramertj
-
由 kennytm 提交于
Resolve FIXME(#27942) [related issue](https://github.com/rust-lang/rust/issues/27942) cc [#44366](https://github.com/rust-lang/rust/issues/44366)
-
由 kennytm 提交于
Backport 1.27.1 release notes to master r? @pietroalbini
-
由 kennytm 提交于
Deny bare trait objects in the rest of rust Add `#![deny(bare_trait_objects)]` to all the modules not covered before (those did not require code changes) that I consider applicable (I left out shims) in order to futureproof them.
-
由 kennytm 提交于
Deny bare trait objects in librustc_target and libtest Enforce `#![deny(bare_trait_objects)]` in `src/librustc_target` and `src/libtest`.
-
由 kennytm 提交于
Deny bare trait objects in src/libserialize Enforce `#![deny(bare_trait_objects)]` in `src/libserialize`.
-
由 kennytm 提交于
Deny bare trait objects in librustc_typeck Enforce `#![deny(bare_trait_objects)]` in `src/librustc_typeck`.
-
由 kennytm 提交于
Deny bare trait objects in src/librustc_save_analysis Enforce `#![deny(bare_trait_objects)]` in `src/librustc_save_analysis`.
-
由 kennytm 提交于
llvm-tools-preview: fix build-manifest r? @alexcrichton
-
由 kennytm 提交于
Update std::ascii::ASCIIExt deprecation notes Fixes #52085
-
由 kennytm 提交于
Implement `Option::replace` in the core library Here is the implementation of the `Option::replace` method. The first step of [the tracking issue #51998](https://github.com/rust-lang/rust/issues/51998).
-
由 kennytm 提交于
Provide llvm-strip in llvm-tools component Shipping this tool gives people reliable way to reduce the generated executable size. I'm not sure if this strip tool is available from the llvm version current rust is built on. But let's take a look. @japaric
-
由 Pietro Albini 提交于
-
由 Jethro Beekman 提交于