- 08 9月, 2018 9 次提交
-
-
由 kennytm 提交于
[NLL] Remove base_place This function was supposed to make `Box` less special. But * I think that the consensus is that MIR borrowck is going to fully special case `Box` * It wasn't implemented correctly, it's looking at the type of the wrong `Place`, resulting in weird behaviour: ```rust #![feature(nll)] type A = Box<i32>; // If this is changed to another type then this will compile. pub fn foo(x: Box<(String, A)>) { let a = x.0; // This will compile if these lines are swapped let b = x.1; } ``` r? @nikomatsakis
-
由 bors 提交于
Trait impl show docs Fixes #51834. <img width="1440" alt="screen shot 2018-06-29 at 00 14 33" src="https://user-images.githubusercontent.com/3050060/42063323-6e6e8cc8-7b31-11e8-88ef-4dd2229df76c.png"> (You can see both commit changes in the screenshot
😄 ) r? @QuietMisdreavus -
由 bors 提交于
do not propagate closure requirements if we can prove them locally Fixes #53570 cc @mikhail-m1 -- you're the one who last touched this code r? @pnkfelix
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
This allows it to print out the "late-bound regions" from the closure context more easily. Besides, all the state that is being printed it is private to the `UniversalRegions`.
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
由 bors 提交于
[nll] teach SCC about `'static` r? @nikomatsakis I think this is right? I am seeing better performance on the `html5ever` benchmark but I'd like a perf run to quantify the exact speedup. There's a few ui tests failing due to changes in the error messages. The main issue seems to be that returns aren't being detected correctly? `mir_check_cast_unsize.rs` before: ``` error: unsatisfied lifetime constraints --> mir_check_cast_unsize.rs:17:46 | 17 | fn bar<'a>(x: &'a u32) -> &'static dyn Debug { | ________--____________________________________^ | | | | | lifetime `'a` defined here 18 | | //~^ ERROR unsatisfied lifetime constraints 19 | | x 20 | | //~^ WARNING not reporting region error due to nll 21 | | } | |_^ return requires that `'a` must outlive `'static` ``` `mir_check_cast_unsize.rs` after: ``` error: unsatisfied lifetime constraints --> mir_check_cast_unsize.rs:19:5 | 17 | fn bar<'a>(x: &'a u32) -> &'static dyn Debug { | -- lifetime `'a` defined here 18 | //~^ ERROR unsatisfied lifetime constraints 19 | x | ^ cast requires that `'a` must outlive `'static` ```
-
- 07 9月, 2018 31 次提交
-
-
由 bors 提交于
Validate syntax of `cfg` attributes Fixes https://github.com/rust-lang/rust/issues/53298
-
由 bors 提交于
Rollup of 17 pull requests Successful merges: - #53299 (Updated core/macros.rs to note it works in a no_std environment.) - #53376 (Cross reference io::copy and fs::copy in docs.) - #53455 (Individual docs for {from,to}_*_bytes) - #53550 (librustc_lint: In recursion warning, change 'recurring' to 'recursing') - #53860 (Migrate (some) of run-pass/ to ui) - #53874 (Implement Unpin for Box, Rc, and Arc) - #53895 (tidy: Cleanups and clippy warning fixes) - #53946 (Clarify `ManuallyDrop` docs) - #53948 (Minimized clippy test from when NLL disabled two-phase borrows) - #53959 (Add .git extension to submodule paths missing it) - #53966 (A few cleanups and minor improvements to mir/dataflow) - #53967 (propagate build.python into cmake) - #53979 (Remove `#[repr(transparent)]` from atomics) - #53991 (Add unchecked_shl/shr check for intrinsics to fix miri's test suit) - #53992 (migrate run-pass/borrowck to ui/run-pass) - #53994 (migrate run-pass/*/ to ui/run-pass) - #54023 (update clippy submodule)
-
由 kennytm 提交于
migrate run-pass/*/ to ui/run-pass I think this is all that remains of #53764
-
由 kennytm 提交于
migrate run-pass/borrowck to ui/run-pass Part of #53764
-
由 kennytm 提交于
Add unchecked_shl/shr check for intrinsics to fix miri's test suit r? @RalfJung cc @oli-obk #53697 broke miri's test suite as described in [this comment](https://github.com/rust-lang/rust/pull/53697#issuecomment-419034668). This PR adds test for the `unchecked_shr/shl` for the intrinsics.
-
由 kennytm 提交于
Remove `#[repr(transparent)]` from atomics Added in #52149 the discussion in #53514 is showing how we may not want to actually add this attribute to the atomic types. While we continue to debate #53514 this commit reverts the addition of the `transparent` attribute. This should be a more conservative route which leaves us the ability to tweak this in the future but in the meantime allows us to continue discussion as well.
-
由 kennytm 提交于
propagate build.python into cmake If a suitable value of Python is not on `PATH`, one can still invoke x.py manually, which propagates `BOOTSTRAP_PYTHON` into the bootstrap environment. But building LLVM will abort with error messages about not being able to find Python, and instructions to set `PYTHON_EXECUTABLE`, because nothing is done with `BOOTSTRAP_PYTHON` when invoking cmake. Setting `build.python` in config.toml had no effect in this scenario, either To fix this, let's provide `PYTHON_EXECUTABLE` when invoking cmake; for the "normal" case of Python in `PATH`, this doesn't alter any behavior. For more unusual cases, however, this ensures cmake finds Python properly. (This change also ensures there are no differences between what bootstrap is using, and what cmake uses, which may be useful for consistency's sake.)
-
由 kennytm 提交于
A few cleanups and minor improvements to mir/dataflow - simplify `dot::GraphWalk::edges` and optimize its vector's allocation - turn a `kill` loop into `kill_all` - remove the `prepost` parameter from `dataflow_path` (it doesn't seem to do anything) - a couple of other minor improvements
-
由 kennytm 提交于
Add .git extension to submodule paths missing it Fixes a problem where submodules could not be cloned under some git configurations. Specifically, when url.git@github.com:.insteadOf = https://github.com/ is set.
-
由 kennytm 提交于
Minimized clippy test from when NLL disabled two-phase borrows (Of course anyone even skimming the test will realize that this is an *expansion* of a previously posted [minimization](https://github.com/rust-lang/rust/issues/52934#issuecomment-418144787).) Fix #52934.
-
由 kennytm 提交于
Clarify `ManuallyDrop` docs Mention that you can use `into_inner` to drop the contained value.
-
由 bors 提交于
Add help message for missing IndexMut impl with NLL Fixes #53228. r? @nikomatsakis
-
由 kennytm 提交于
tidy: Cleanups and clippy warning fixes This eliminates various clippy warnings in the tidy tool, as well as making some related cleanups. These changes should not introduce any functional differences.
-
由 kennytm 提交于
Implement Unpin for Box, Rc, and Arc Per the discussion in #49150, these should implement `Unpin` even if what they point to does not.
-
由 kennytm 提交于
Migrate (some) of run-pass/ to ui This is a step towards addressing #53764. Much still remains. I went through a large portion of the `*.rs` files that were directly stored into `src/test/run-pass/` and moved them into various subdirectories of a newly created `src/test/ui/run-pass/`. (yes, it would have perhaps been nice to meld it more directly with directories already in `src/test/ui/`; but the sad truth is that opens up the reality of filename collisions, and one of my short term goals for resolving #53764 is to keep the *filenames* invariant, even as their parents directories and contents are mildly revised...)
-
由 kennytm 提交于
librustc_lint: In recursion warning, change 'recurring' to 'recursing' The existing wording seems incorrect. Aside: This warning, 'function cannot return without recursing' is not perfectly clear - it implies that the function _can_ return, it's just got to recurse. But really the fn cannot return period. Clearer wording: 'function recurses infinitely; it cannot return'; or 'function is infinitely self-recursive; it cannot return, and this is probably an error'. I like that.
-
由 kennytm 提交于
Individual docs for {from,to}_*_bytes
-
由 kennytm 提交于
Cross reference io::copy and fs::copy in docs. Fixes https://github.com/rust-lang/rust/issues/52524.
-
由 kennytm 提交于
Updated core/macros.rs to note it works in a no_std environment. Fixes #45797 This PR updates the documentation of `write!` to note it works in a `no_std` environment, and adds an example to showcase this. In a `no_std` environment, the author of the code is responsible for the implementation of the `Write` trait. This example will work out of the box with `no_std`, but the implementation of `Write` is expected to be provided by the user. r? @steveklabnik
-
由 Matthias Krüger 提交于
updates to cafef7b5
-
由 bors 提交于
Ship libLLVM.dylib on OSX Previously we just weren't shipping this at all as we were only looking for the Linux version!
-
由 Wesley Wiser 提交于
-
由 Alex Crichton 提交于
Previously we just weren't shipping this at all as we were only looking for the Linux version!
-
由 bors 提交于
Update the compiler-builtins submodule Fixes a mistake in using C shims to... Closes #53916
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
由 Wesley Wiser 提交于
Fixes #53178
-