about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-09-28Auto merge of #64455 - GuillaumeGomez:long-error-explanation-E0531, r=Centrilbors-5/+54
Add Long error explanation for E0531 Part of #61137.
2019-09-28Fix lint-exceeding-bitshifts ui testsWesley Wiser-23/+27
2019-09-28Allow reading non-mutable statics in const propWesley Wiser-11/+45
2019-09-28Implement CRsWojciech Baranowski-75/+46
2019-09-28Improve wording in documentation of MaybeUninitNils Liberg-6/+6
2019-09-28data_structures: Add deterministic FxHashMap and FxHashSet wrappersShivani Bhardwaj-0/+178
StableMap A wrapper for FxHashMap that allows to insert, remove, get and get_mut but no iteration support. StableSet A wrapper for FxHashSet that allows to insert, remove, get and create a sorted vector from a hashset but no iteration support.
2019-09-28Rollup merge of #64859 - Centril:const-def-here-new-var, r=estebankMazdak Farrokhzad-26/+96
check_match: improve diagnostics for `let A = 2;` with `const A: i32 = 3` For example: ``` error[E0005]: refutable pattern in local binding: `std::i32::MIN..=1i32` and `3i32..=std::i32::MAX` not covered --> $DIR/const-pat-non-exaustive-let-new-var.rs:2:9 | LL | let A = 3; | ^ | | | interpreted as a constant pattern, not a new variable | help: introduce a variable instead: `a_var` ... LL | const A: i32 = 2; | ----------------- constant defined here ``` r? @estebank cc @matthiaskrgr @rpjohnst
2019-09-28Rollup merge of #64847 - mati865:env_logger, r=alexcrichtonMazdak Farrokhzad-2/+2
Upgrade env_logger to 0.7 `./x.py test` passed locally.
2019-09-28Rollup merge of #64845 - rusty-snake:patch-1, r=jonas-schievinkMazdak Farrokhzad-0/+2
pin.rs: fix links to primitives in documentation
2019-09-28Rollup merge of #64836 - lzutao:stabilize-map_get_key_value, r=SimonSapinMazdak Farrokhzad-4/+2
Stabilize map_get_key_value feature FCP done in https://github.com/rust-lang/rust/issues/49347#issuecomment-521728031 r? @SimonSapin Closes #49347
2019-09-28Rollup merge of #64830 - Centril:thou-shallt-not-abort, r=estebankMazdak Farrokhzad-3/+16
Thou shallt not `.abort_if_errors()` r? @estebank
2019-09-28Rollup merge of #64818 - Wind-River:master, r=alexcrichtonMazdak Farrokhzad-2/+2
update rtpSpawn's parameters type(It's prototype has been updated in libc) r? @alexcrichton
2019-09-28Rollup merge of #64809 - davidtwco:issue-64768-target-feature-const, r=varkorMazdak Farrokhzad-71/+204
hir: Disallow `target_feature` on constants Fixes #64768. This PR fixes an ICE when `#[target_feature]` is applied to constants by disallowing this with the same error as when `#[target_feature]` is applied to other places it shouldn't be. I couldn't see anything in the [RFC](https://github.com/rust-lang/rfcs/blob/master/text/2045-target-feature.md) that suggested that `#[target_feature]` should be applicable to constants or any tests that suggested it should, though I might have missed something - if this is desirable in future, it remains possible to remove this error (but for the time being, I think this error is better than an ICE). I also added some extra cases to the test for other places where `#[target_feature]` should not be permitted. cc @gnzlbg
2019-09-28Rollup merge of #64802 - estebank:walk-parents-iterator, r=matthewjasperMazdak Farrokhzad-118/+136
Account for tail expressions when pointing at return type When there's a type mismatch we make an effort to check if it was caused by a function's return type. This logic now makes sure to only point at the return type if the error happens in a tail expression. Turn `walk_parent_nodes` method into an iterator. CC #39968, CC #40799.
2019-09-28Rollup merge of #64794 - Mark-Simulacrum:rm-dep-track-map, r=estebankMazdak Farrokhzad-156/+3
Remove unused DepTrackingMap Deletes some related code (MemoizationMap trait, etc.) I believe this became unused with red/green incremental introduction, but am uncertain.
2019-09-28Rollup merge of #64781 - Mark-Simulacrum:no-global-tcx, r=eddybMazdak Farrokhzad-209/+97
Remove stray references to the old global tcx
2019-09-28Rollup merge of #64745 - kennethbgoodin:should-panic-msg, r=varkorMazdak Farrokhzad-2/+3
Include message on tests that should panic but do not As per issue #60790 includes a message for tests marked `#[should_panic]` that do not panic as expected. Fixes #60790.
2019-09-28Rollup merge of #64703 - llogiq:slices-elems-are-equidistant, r=rkruppeMazdak Farrokhzad-1/+3
Docs: slice elements are equidistant Recently, someone asked why `[char]` and `str` are not interchangeable, and I explained that in a slice, the elements must be laid out equidistantly, whereas the chars in a `str` are stored compactly regardless their size. However I couldn't find this documented anywhere, so here's a small addition of this fact.
2019-09-28Added test for mismatched slices, and byte slices.ben-1/+47
2019-09-27Add test for redundant_semicolon lint interaction with proc macro attrsNathan-0/+52
2019-09-28Move `get_slice_bytes` to `rustc::mir::interpret` so it can be reused.ben-42/+26
2019-09-28Add inline function `get_slice_bytes` to remove code duplication.ben-24/+18
2019-09-28Improve diagnostic for `let A = 0;`Mazdak Farrokhzad-26/+96
where `A` is a constant, not a new variable.
2019-09-27Filter out stmts made for the redundant_semicolon lint when pretty-printingnathanwhit-3/+12
2019-09-27Introduce a `ConstPropMachine`Wesley Wiser-39/+177
This allows us to avoid changing things directly in the miri engine just for const prop.
2019-09-27Work around for #64506Wesley Wiser-1/+11
2019-09-27Move Ref-from-arg checking from `step.rs` to `const_prop.rs`Wesley Wiser-99/+95
2019-09-27Respond to code review feedback and fix tidyWesley Wiser-15/+42
2019-09-27Don't run the ConstProp MIR pass on generatorsWesley Wiser-0/+8
This can cause cycles as `ConstProp` uses `layout_of` which, for generators, uses `optimized_mir` which runs `ConstProp`.
2019-09-27[const-prop] Replace `Ref` handling with use of `InterpCx`Wesley Wiser-8/+21
2019-09-27[const-prop] Replace some `Binaryp` handling with use of `InterpCx`Wesley Wiser-38/+24
2019-09-27[const-prop] Replace `CheckedBinaryOp` handling with use of `InterpCx`Wesley Wiser-18/+18
2019-09-27[const-prop] Replace most `UnaryOp` handling with use of `InterpCx`Wesley Wiser-28/+17
2019-09-27[const-prop] Replace `NullaryOp` handling with use of `InterpCx`Wesley Wiser-21/+7
2019-09-27[const-prop] Replace `Cast` handling with use of `InterpCx`Wesley Wiser-11/+4
2019-09-27[const-prop] Replace `Use` handling with use of `InterpCx`Wesley Wiser-25/+26
2019-09-27[const-prop] Replace `eval_place()` with use of `InterpCx`Wesley Wiser-57/+43
2019-09-28Generate llvm.sideeffect at function entry instead of callXiang Fan-6/+12
2019-09-28Gate llvm.sideeffect under -Z insert-sideeffectXiang Fan-45/+36
2019-09-28Add support for relating slices in `super_relate_consts`.ben-3/+56
2019-09-27Auto merge of #64790 - Centril:rip-ast-borrowck, r=matthewjasperbors-6006/+49
Rest In Peace, AST borrowck (2012-2019) After having served us for 7 years, the AST borrow-checker is no more. This PR starts from the commit `rm -rf librustc_ast_borrowck`, building on https://github.com/rust-lang/rust/pull/64221, and is probably best read commit by commit. Migrate mode is not removed yet as it may be useful for NLL => polonius and it is also used for the `mutable_borrow_reservation_conflict` issue (https://github.com/rust-lang/rust/issues/59159). r? @matthewjasper ------------------------ ![ast-borrowck-rip](https://user-images.githubusercontent.com/855702/65646791-91a87600-dffc-11e9-9814-deed6b821c80.png)
2019-09-28Add llvm.sideeffect to potential infinite loops and recursionsXiang Fan-18/+127
LLVM assumes that a thread will eventually cause side effect. This is not true in Rust if a loop or recursion does nothing in its body, causing undefined behavior even in common cases like `loop {}`. Inserting llvm.sideeffect fixes the undefined behavior. As a micro-optimization, only insert llvm.sideeffect when jumping back in blocks or calling a function. A patch for LLVM is expected to allow empty non-terminate code by default and fix this issue from LLVM side. https://github.com/rust-lang/rust/issues/28728
2019-09-27--bless --compare-mode=nllMazdak Farrokhzad-33/+0
2019-09-27Print ParamTy span when accessing a field (#52082)Wojciech Baranowski-3/+184
2019-09-27-Z unpretty message: include expanded,hygieneMazdak Farrokhzad-3/+3
2019-09-27Inline the remaining hir::Arm::top_pats_hackMazdak Farrokhzad-15/+11
2019-09-27Remove AccessKind::Move.Mazdak Farrokhzad-8/+0
2019-09-27cleanup dead ast-borrowck / migrate-mode code.Mazdak Farrokhzad-106/+20
2019-09-27cleanup check_match wrt. SignalledError.Mazdak Farrokhzad-18/+7
2019-09-27Remove unpretty=flowgraph.Mazdak Farrokhzad-182/+14