about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-02-14rustc_mir: rename `Qualif::for_ty to `Qualif::any_value_of_ty`.Eduard-Mihai Burtescu-14/+19
2019-02-14rustc_mir: remove qualify_consts::Qualif::FN_ARGUMENT.Eduard-Mihai Burtescu-12/+4
2019-02-14rustc_mir: remove outdated `const fn` stability diagnostic.Eduard-Mihai Burtescu-22/+4
2019-02-14rustc_mir: split qualify_consts' checking and value qualification.Eduard-Mihai Burtescu-471/+628
2019-02-14rustc_mir: split off some qualify_consts::Checker fields into a State struct.Eduard-Mihai Burtescu-61/+73
2019-02-14rustc_mir: rename qualify_consts::Qualifier to Checker.Eduard-Mihai Burtescu-18/+18
2019-02-14Remove no longer accurate diagnostic code about NLLLzu Tao-4/+0
r? @steveklabnik
2019-02-14Rollup merge of #58449 - topecongiro:rustfmt-toolstate, r=CentrilMazdak Farrokhzad-1/+1
Notify @topecongiro when the state of rustfmt has changed I would like to get notified when the state of rustfmt has changed. Context: I am currently a leader of the rustfmt working group. cc @nrc do you still want to get notified?
2019-02-14Rollup merge of #58407 - euclio:upper-camel-case, r=estebankMazdak Farrokhzad-126/+139
specify "upper camel case" in style lint Also, fix an issue where internal upper case letters were converted to lower case. Fixes #57319.
2019-02-14Rollup merge of #58378 - alexcrichton:incremental-lto, r=michaelwoeristerMazdak Farrokhzad-83/+246
rustc: Implement incremental "fat" LTO Currently the compiler will produce an error if both incremental compilation and full fat LTO is requested. With recent changes and the advent of incremental ThinLTO, however, all the hard work is already done for us and it's actually not too bad to remove this error! This commit updates the codegen backend to allow incremental full fat LTO. The semantics are that the input modules to LTO are all produce incrementally, but the final LTO step is always done unconditionally regardless of whether the inputs changed or not. The only real incremental win we could have here is if zero of the input modules changed, but that's so rare it's unlikely to be worthwhile to implement such a code path. cc #57968 cc rust-lang/cargo#6643
2019-02-14Rollup merge of #58371 - davidtwco:issue-58299, r=arielb1Mazdak Farrokhzad-85/+176
Check user type annotations for range patterns. Fixes #58299. This PR builds on the fix from #58161 (which fixed miscompilation caused by the introduction of `AscribeUserType` patterns for associated constants) to start checking these patterns are well-formed for ranges (previous fix just ignored them so that miscompilation wouldn't occur). r? @arielb1
2019-02-14Rollup merge of #58365 - Zoxc:task-status, r=michaelwoeristerMazdak Farrokhzad-0/+17
Add an option to print the status of incremental tasks / dep nodes after running them r? @michaelwoerister
2019-02-14Rollup merge of #58347 - matthewjasper:closure-bounds-fixes, r=pnkfelixMazdak Farrokhzad-112/+234
Closure bounds fixes * Ensures that "nice region errors" are buffered so that they are sorted and migrated correctly. * Propagates fewer constraints for closures (cc #58178) * Propagate constraints from closures more precisely (#58127) Closes #58127 r? @nikomatsakis
2019-02-14Rollup merge of #58309 - wesleywiser:add_more_profiler_events, ↵Mazdak Farrokhzad-20/+72
r=michaelwoerister Add more profiler events - Adds Start\Stop events for time spent loading incremental query results from disk. - Adds Start\Stop events for time spent blocked waiting for queries to complete (when parallel queries are enabled). r? @michaelwoerister
2019-02-14SGX target: fix panic = abortJethro Beekman-2/+4
2019-02-13Add a tracking issueSteven Fackler-11/+11
2019-02-13Whitelist iovec types in linkcheckerSteven Fackler-1/+3
2019-02-13impl Deref/DerefMut for IoVec typesSteven Fackler-47/+53
Returning &'a mut [u8] was unsound, and we may as well just have them directly deref to their slices to make it easier to work with them.
2019-02-13Add vectored read and write supportSteven Fackler-92/+1033
This functionality has lived for a while in the tokio ecosystem, where it can improve performance by minimizing copies.
2019-02-14Notify @topecongiro when the state of rustfmt has changedtopecongiro-1/+1
2019-02-14Rollup merge of #58308 - gnzlbg:context_insert_intr, r=eddybMazdak Farrokhzad-12/+17
Extract block to insert an intrinsic into its own function r? @eddyb
2019-02-14Rollup merge of #58301 - RalfJung:fat-ptr-eq, r=oli-obkMazdak Farrokhzad-130/+146
Enable comparing fat pointers Also refactor our binops a bit to make that happen more easily. r? @oli-obk
2019-02-14Rollup merge of #58296 - estebank:hidden-suggestion, r=oli-obkMazdak Farrokhzad-69/+245
Hidden suggestion support Add way to hide suggestion snippet window from cli output to avoid cluttered spans that don't enhance understanding. r? @pietroalbini CC @zackmdavis
2019-02-14Rollup merge of #58267 - estebank:match-arms, r=matthewjasperMazdak Farrokhzad-62/+206
Tweak "incompatible match arms" error - Point at the body expression of the match arm with the type error. - Point at the prior match arms explicitly stating the evaluated type. - Point at the entire match expr in a secondary span, instead of primary. - For type errors in the first match arm, the cause is outside of the match, treat as implicit block error to give a more appropriate error. Fix #46776, fix #57206. CC #24157, #38234.
2019-02-14Rollup merge of #58258 - nnethercote:shrink-hir-Expr, r=michaelwoeristerMazdak Farrokhzad-10/+23
Reduce the size of `hir::Expr`. From 104 bytes to 72 bytes on x86-64. This slightly reduces instruction counts. Also add an assertion about the size.
2019-02-14Rollup merge of #57992 - Matthias247:waker4, r=cramertjMazdak Farrokhzad-470/+239
Update the future/task API This change updates the future and task API as discussed in the stabilization RFC at https://github.com/rust-lang/rfcs/pull/2592. Changes: - Replacing UnsafeWake with RawWaker and RawWakerVtable - Removal of LocalWaker - Removal of Arc-based Wake trait
2019-02-14Rollup merge of #57856 - lzutao:fix-old-first-edition, r=steveklabnikMazdak Farrokhzad-50/+65
Convert old first edition links to current edition one r? @steveklabnik
2019-02-14Rollup merge of #57451 - dlrobertson:can_use_as_ref_nit, r=estebankMazdak Farrokhzad-13/+18
suggestion-diagnostics: as_ref improve snippet Improve the code snippet suggested in suggestion-diagnostics when suggesting the use of as_ref. Given: ```rust fn test(x: &usize) {} fn main() { Some(42).map(|x| test(x)); } ``` Suggest ``` help: consider using `as_ref` instead: `as_ref().map` ``` Instead of ``` help: consider using `as_ref` instead: `as_ref().` ```
2019-02-13mask `compiler_builtins` docsAndy Russell-1/+6
Since `compiler_builtins` is being injected automatically, its docs aren't masked. This commit masks the crate's docs if it's brought in as an extern crate.
2019-02-14Reduce the size of `hir::Expr`.Nicholas Nethercote-10/+23
From 104 bytes to 72 bytes on x86-64. This slightly reduces instruction counts. Also add an assertion about the size.
2019-02-13Return without a reference in unix Weak::get()Josh Stone-5/+4
2019-02-13Check the self-type of inherent associated constantsMatthew Jasper-30/+74
2019-02-13Avoid allocation in std::sys::unix::weakJosh Stone-3/+3
If we add a terminating NUL to the name in the `weak!` macro, then `fetch()` can use `CStr::from_bytes_with_nul()` instead of `CString`.
2019-02-13Whitelist the ARM v6 target-featuregnzlbg-0/+1
2019-02-13Use posix_spawn_file_actions_addchdir_np when possibleJosh Stone-2/+22
This is a non-POSIX extension implemented in Solaris and in glibc 2.29. With this we can still use `posix_spawn()` when `Command::current_dir()` has been set, otherwise we fallback to `fork(); chdir(); exec()`.
2019-02-13Propagate region constraints more precisely from closuresMatthew Jasper-66/+142
2019-02-13Buffer and migrate nice region errorsMatthew Jasper-21/+23
2019-02-13Avoid propagating redundant outlives constraints from closuresMatthew Jasper-49/+93
2019-02-13specify "upper camel case" in style lintAndy Russell-126/+139
Also, fix an issue where internal upper case letters were converted to lower case.
2019-02-13Add `impl From<!> for Infallible`Simon Sapin-0/+7
The reverse conversion unfortunately causes unexpected errors like: ``` error[E0277]: the trait bound `!: std::convert::From<()>` is not satisfied --> src/librustc_metadata/encoder.rs:105:9 | 105 | self.emit_usize(seq.len)?; | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<()>` is not implemented for `!` | = help: the following implementations were found: <! as std::convert::From<std::convert::Infallible>> = note: the trait is implemented for `()`. Possibly this error has been caused by changes to Rust's type-inference algorithm (see: https://github.com/rust-lang/rust/issues/48950 for more info). Consider whether you meant to use the type `()` here instead. = note: required by `std::convert::From::from` ``` I don’t understand why this error happens. If I’m reading the code correctly the return types of `emit_usize` and of the method that contains line 105 are both `Result<(), !>`, so the expansion of the `?` operator should involve `!: From<!>`, not `From<()>`. Is this a type inference bug?
2019-02-13suggestion-diagnostics: as_ref improve snippetDan Robertson-13/+18
Improve the code snippet suggested in suggestion-diagnostics when suggesting the use of as_ref.
2019-02-13miri: test with slightly larger BTreesRalf Jung-8/+10
2019-02-13review failures in heap, slice, vecRalf Jung-4/+32
2019-02-13review failures in btree, stringRalf Jung-6/+42
2019-02-13review failures in binary_heap, str, vec_dequeRalf Jung-33/+23
2019-02-13the formatting issue got fixedRalf Jung-3/+3
2019-02-13review or fix remaining miri failures in libcoreRalf Jung-9/+28
2019-02-13Rollup merge of #58420 - dvdhrm:target-uefi-comments, r=nagisaMazdak Farrokhzad-12/+17
target/uefi: clarify documentation This clarifies why FP-units are disabled on UEFI targets, as well as why we must opt into the NXCOMPAT feature. I did find some time to investigate why GRUB and friends disable FP on UEFI. The specification explicitly allows using MMX/SSE/AVX, but as it turns out it does not mandate enabling the instruction sets explicitly. Hence, any use of these instructions will trigger CPU exceptions, unless an application explicitly enables them (which is not an option, as these are global flags that better be controlled by the kernel/firmware). Furthermore, UEFI systems are allowed to mark any non-code page as non-executable. Hence, we must make sure to never place code on the stack or heap. So we better pass /NXCOMPAT to the linker for it to complain if it ever places code in non-code pages. Lastly, this fixes some typos in related comments. r? @alexcrichton
2019-02-13Rollup merge of #58400 - gnzlbg:fix_driver, r=oli-obkMazdak Farrokhzad-0/+5
Fix rustc_driver swallowing errors when compilation is stopped r? @oli-obk
2019-02-13Rollup merge of #58386 - Zoxc:fix-54242, r=michaelwoeristerMazdak Farrokhzad-58/+73
Fix #54242 r? @michaelwoerister