Commit Graph

81356 Commits

Author SHA1 Message Date
Vadim Petrochenkov
c3e54217e8 resolve: Implement prelude search for macro paths
resolve/expansion: Implement tool attributes
2018-08-01 12:08:41 +03:00
bors
c63bb1d6a7 Auto merge of #52756 - alexcrichton:cap-applicable, r=oli-obk
rustc: Disallow machine applicability in foreign macros

Recent changes to lints disallowed lints from being emitted against code located
in foreign macros, except for future-incompatible lints. For a future
incompatible lint, however, the automatic suggestions may not be applicable!

This commit updates this code path to force all applicability suggestions made
to foreign macros to never be `MachineApplicable`. This should avoid rustfix
actually attempting fixing these suggestions, causing non-compiling code to be
produced.

Closes rust-lang/cargo#5799
2018-08-01 06:44:09 +00:00
bors
e94df4acb4 Auto merge of #52234 - petrochenkov:macuse2, r=Mark-Simulacrum
resolve: Modularize crate-local `#[macro_export] macro_rules`

Based on https://github.com/rust-lang/rust/pull/50911, cc https://github.com/rust-lang/rust/pull/50911#issuecomment-401151270

`#[macro_export] macro_rules` items are collected from the whole crate and are planted into the root module as items, so the external view of the crate is symmetric with its internal view and something like `$crate::my_macro` where `my_macro` is `#[macro_export] macro_rules` works both locally and from other crates.

Closes https://github.com/rust-lang/rust/issues/52726
2018-07-31 20:52:14 +00:00
bors
f89817997a Auto merge of #52461 - irinagpopa:safe-llvm, r=nikomatsakis
rustc_codegen_llvm: use safe references for LLVM FFI types.

Part of #45274.
2018-07-31 13:32:32 +00:00
Irina Popa
baff67d51f rustc_llvm: fix linking on mingw. 2018-07-31 15:36:38 +03:00
bors
ed8d14db99 Auto merge of #50267 - humanenginuity:master, r=alexcrichton
Implement inner deref for Option and Result

tracking issue: #50264
2018-07-31 11:20:16 +00:00
bors
8961132010 Auto merge of #52850 - SimonSapin:unstablize, r=alexcrichton
Revert "Stabilize to_bytes and from_bytes for integers."

This reverts commit c8f9b84b39 / PR https://github.com/rust-lang/rust/pull/51835, and reopens the tracking issue https://github.com/rust-lang/rust/issues/49792.

These methods were stabilized in Rust 1.29, which is still in Nightly as of this writing. So my understanding is that it is still time to change our minds. Given the ongoing discussion in https://github.com/rust-lang/rust/pull/51919 about possibly renaming these APIs and since 1.29 goes to beta soon, I’d like to revert this stabilization for now until a decision is made in that PR. It’s possible that a decision will be made in time for 1.29, but there is no urgency. At most I expect this functionality to make it into 1.30.
2018-07-31 09:08:33 +00:00
bors
d2652f6c1d Auto merge of #52630 - Mark-Simulacrum:rustdoc-cleanup-2, r=QuietMisdreavus
Delete unused code in rustdoc

Also hid the unused crate exports of rustdoc. This is technically a breaking change but we don't even ship librustdoc in the sysroot so I don't expect breakage.
2018-07-31 07:02:10 +00:00
bors
4fbd4a55f7 Auto merge of #52863 - steveklabnik:update-books, r=Mark-Simulacrum
update books for new release

r? @Mark-Simulacrum
2018-07-31 03:30:47 +00:00
bors
cc408fb5be Auto merge of #52731 - nikomatsakis:issue-52057-inference-variable, r=pnkfelix
Issue 52057 — inference variable

Break out the computation of universal region relations and do it during the typeck, where we can handle the resulting constraints that arise.

r? @pnkfelix
2018-07-31 01:25:49 +00:00
Niko Matsakis
b9652aee65 region_infer: rustfmt, pacifying the mercilous tidy 2018-07-31 02:31:41 +02:00
Niko Matsakis
9baf01363c assert no region obligations on entering custom type op
Fixes #51649
2018-07-31 02:31:41 +02:00
Niko Matsakis
68c2a39a72 free RegionBoundPairs earlier and avoid normalizing twice
Normalization results are memoized, so this may not be worth it, but it
seems easy enough to do.
2018-07-31 02:31:41 +02:00
Niko Matsakis
490928f709 remove region_bound_pairs from FRR as they are not needed later 2018-07-31 02:31:41 +02:00
Niko Matsakis
1e1f18ddba make a free fn for creating the URR 2018-07-31 02:31:41 +02:00
Niko Matsakis
d42bc58b1d add regression test for #52057
Fixes #52057
2018-07-31 02:31:41 +02:00
Niko Matsakis
d1e67fcacd remove universal-region-relation computation from universal_regions 2018-07-31 02:31:40 +02:00
Niko Matsakis
3bca170bc7 introduce, but do not use, free_region_relation computation
This duplicates, effectively, existing code in the universal regions
computation.
2018-07-31 02:26:06 +02:00
Mark Rousskov
620c4fdf53 Delete unused code in rustdoc 2018-07-30 16:33:56 -06:00
Irina Popa
69ed6b928c rustc_codegen_llvm: fix ownership of DIBuilder. 2018-07-30 20:35:14 +03:00
Irina Popa
54c98ab0dd rustc_codegen_llvm: fix ownership of Builder. 2018-07-30 20:35:11 +03:00
Irina Popa
265f2fa4de rustc_codegen_llvm: fix tidy errors. 2018-07-30 20:35:08 +03:00
Irina Popa
ba006440ee rustc_codegen_llvm: use safe references for ThinLTOData. 2018-07-30 20:34:51 +03:00
Irina Popa
2e3a6af7fa rustc_codegen_llvm: use safe references for ThinLTOBuffer. 2018-07-30 20:10:47 +03:00
Irina Popa
ab4f93c742 rustc_codegen_llvm: use safe references for ModuleBuffer. 2018-07-30 20:10:45 +03:00
Irina Popa
b643e5144e rustc_codegen_llvm: use safe references for RustArchiveMember. 2018-07-30 20:10:44 +03:00
Irina Popa
c7669dff2a rustc_codegen_llvm: use safe references for ArchiveChild. 2018-07-30 20:10:43 +03:00
Irina Popa
e551ed9033 rustc_codegen_llvm: use safe references for ArchiveIterator. 2018-07-30 20:10:42 +03:00
Irina Popa
894467e5b4 rustc_codegen_llvm: use safe references for Linker. 2018-07-30 20:10:41 +03:00
Irina Popa
2c1d7fbb83 rustc_codegen_llvm: use safe references for SectionIterator. 2018-07-30 20:10:39 +03:00
Irina Popa
e22eebaf2b rustc_codegen_llvm: use safe references for PassManager. 2018-07-30 20:10:38 +03:00
Irina Popa
0ab3444540 rustc_codegen_llvm: use safe references for OperandBundleDef. 2018-07-30 20:10:37 +03:00
Irina Popa
92af9694b9 rustc_codegen_llvm: use safe mutable references for output parameters. 2018-07-30 20:10:36 +03:00
Irina Popa
c1eeb69ce8 rustc_codegen_llvm: use safe references for RustString. 2018-07-30 20:10:34 +03:00
Irina Popa
44ae6f1909 rustc_codegen_llvm: use safe references for Twine, DiagnosticInfo, SMDiagnostic. 2018-07-30 20:10:33 +03:00
Irina Popa
41d7d8e35e rustc_codegen_llvm: use safe references for Archive. 2018-07-30 20:10:32 +03:00
Irina Popa
0e3a705269 rustc_codegen_llvm: use safe references for TargetMachine. 2018-07-30 20:10:31 +03:00
Irina Popa
55af020194 rustc_codegen_llvm: use safe references for Pass. 2018-07-30 20:10:30 +03:00
Irina Popa
e9546601a1 rustc_codegen_llvm: use safe references for PassManagerBuilder. 2018-07-30 20:10:29 +03:00
Irina Popa
2f73cef5a3 rustc_codegen_llvm: use safe references for MemoryBuffer and ObjectFile. 2018-07-30 20:10:28 +03:00
Irina Popa
ebec156abf rustc_codegen_llvm: remove more unused functions. 2018-07-30 20:10:25 +03:00
Irina Popa
f224441ed5 rustc_codegen_llvm: remove unused UseRef type. 2018-07-30 19:49:22 +03:00
Irina Popa
3eb50358e4 rustc_codegen_llvm: use safe references for BasicBlock. 2018-07-30 19:49:20 +03:00
Irina Popa
f375185314 rustc_codegen_llvm: use safe references for Value. 2018-07-30 19:49:18 +03:00
Irina Popa
8d17684341 rustc_codegen_llvm: remove _opaque suffix. 2018-07-30 19:32:22 +03:00
Irina Popa
1da26707d6 rustc_codegen_llvm: remove #![allow(dead_code)] from llvm. 2018-07-30 19:32:20 +03:00
Irina Popa
50d764298e rustc_codegen_llvm: remove unused ExecutionEngineRef type. 2018-07-30 19:27:16 +03:00
Irina Popa
eed48f560f rustc_codegen_llvm: use safe references for Metadata and DI*. 2018-07-30 19:27:13 +03:00
Irina Popa
6d0d82ce10 rustc_codegen_llvm: use safe references for DIBuilder. 2018-07-30 18:36:32 +03:00
Irina Popa
2dbde55395 rustc_codegen_llvm: use safe references for Builder. 2018-07-30 18:36:30 +03:00