Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[LLVM] Segfault / "llvm::thinLTOInternalizeModule ... Assertion `GS != DefinedGlobals.end()' failed". #53912

Closed
eddyb opened this issue Sep 3, 2018 · 4 comments · Fixed by #61195
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-bug Category: This is a bug. I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@eddyb
Copy link
Member

eddyb commented Sep 3, 2018

This example (reduced from rustc_codegen_llvm) either crashes LLVM or makes it emit an assertion:

fn dummy() {}

mod llvm {
    pub(crate) struct Foo;
}
mod foo {
    pub(crate) struct Foo<T>(T);
    impl Foo<::llvm::Foo> {
        pub(crate) fn foo() {
            for _ in 0..0 {
                for _ in &[::dummy()] {
                    ::dummy();
                    ::dummy();
                    ::dummy();
                }
            }
        }
    }
    pub(crate) fn foo() {
        Foo::foo();
        Foo::foo();
    }
}
pub fn foo() {
    foo::foo();
}

I suspect the for loops aren't needed, but the control-flow there affects the bug in finicky ways.

The llvm name of the module appears to be important and tied to the fact that we end up emitting llvm:: in a symbol name (because of the impl), which gets mangled as llvm.. (note the two dots).
Among other things, changing the . we use to mangle :, to $ makes the bug go away.

Assertion message (if LLVM assertions are enabled):

rustc: /checkout/src/llvm/lib/Transforms/IPO/FunctionImport.cpp:961:
auto llvm::thinLTOInternalizeModule(llvm::Module &, const llvm::GVSummaryMapTy &)::(anonymous class)::operator()(const llvm::GlobalValue &) const:
Assertion `GS != DefinedGlobals.end()' failed.

Stack backtrace for SIGSEGV (if LLVM assertions are disabled):

#0  0x00007fffed5240d2 in std::_Function_handler<bool (llvm::GlobalValue const&), llvm::thinLTOInternalizeModule(llvm::Module&, llvm::DenseMap<unsigned long, llvm::GlobalValueSummary*, llvm::DenseMapInfo<unsigned long>, llvm::detail::DenseMapPair<unsigned long, llvm::GlobalValueSummary*> > const&)::$_2>::_M_invoke(std::_Any_data const&, llvm::GlobalValue const&) ()
   from /home/eddy/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#1  0x00007fffed5409be in llvm::InternalizePass::maybeInternalize(llvm::GlobalValue&, std::set<llvm::Comdat const*, std::less<llvm::Comdat const*>, std::allocator<llvm::Comdat const*> > const&) ()
   from /home/eddy/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#2  0x00007fffed540e26 in llvm::InternalizePass::internalizeModule(llvm::Module&, llvm::CallGraph*) ()
   from /home/eddy/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#3  0x00007fffed520079 in llvm::thinLTOInternalizeModule(llvm::Module&, llvm::DenseMap<unsigned long, llvm::GlobalValueSummary*, llvm::DenseMapInfo<unsigned long>, llvm::detail::DenseMapPair<unsigned long, llvm::GlobalValueSummary*> > const&) ()
   from /home/eddy/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#4  0x00007fffecda34f8 in LLVMRustPrepareThinLTOInternalize ()
   from /home/eddy/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#5  0x00007fffeccb1a2c in rustc_codegen_llvm::back::lto::LtoModuleCodegen::optimize ()
   from /home/eddy/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
#6  0x00007fffecc5fbb2 in rustc_codegen_llvm::back::write::execute_work_item ()
   from /home/eddy/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so

cc @sunfishcode @denismerigoux @alexcrichton @rkruppe

@eddyb eddyb added I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. labels Sep 3, 2018
@eddyb
Copy link
Member Author

eddyb commented Sep 3, 2018

Found the culprit in ModuleSummaryIndex::{getGlobalNameForLocal, getOriginalNameBeforePromote}:

  /// Convenience method for creating a promoted global name
  /// for the given value name of a local, and its original module's ID.
  static std::string getGlobalNameForLocal(StringRef Name, ModuleHash ModHash) {
    SmallString<256> NewName(Name);
    NewName += ".llvm.";
    NewName += utostr((uint64_t(ModHash[0]) << 32) |
                      ModHash[1]); // Take the first 64 bits
    return NewName.str();
  }

  /// Helper to obtain the unpromoted name for a global value (or the original
  /// name if not promoted).
  static StringRef getOriginalNameBeforePromote(StringRef Name) {
    std::pair<StringRef, StringRef> Pair = Name.split(".llvm.");
    return Pair.first;
  }

LLVM implicitly assumes that .llvm. cannot show up randomly in symbol names, and rustc breaks that assumption - but LLVM never checks it, so it shares part of the blame here, IMO.

Probably the correct thing to do for LLVM is to split the string at the last .llvm., instead of the first.

@hanna-kruppe
Copy link
Contributor

Why are computers

@denismerigoux
Copy link
Contributor

The work around I introduced with the above commit is a proposition of @eddyb and fixes this issue with the segfault.

denismerigoux added a commit to denismerigoux/rust that referenced this issue Sep 6, 2018
@michaelwoerister
Copy link
Member

Sanitizing : to $ and adding a debug assertion would also be a good idea.

denismerigoux added a commit to denismerigoux/rust that referenced this issue Oct 23, 2018
denismerigoux added a commit to denismerigoux/rust that referenced this issue Oct 23, 2018
denismerigoux added a commit to sunfishcode/rust that referenced this issue Nov 6, 2018
eddyb pushed a commit to sunfishcode/rust that referenced this issue Nov 16, 2018
dflemstr added a commit to dflemstr/rust-buildenv that referenced this issue Dec 7, 2018
fc84f5f837 Auto merge of #56581 - kennytm:rollup, r=kennytm
15a2607863 Auto merge of #56066 - jethrogb:jb/sgx-target, r=alexcrichton
7bea6a1964 SGX target: implement command-line arguments and environment variables
6650f43a3f SGX target: implement time
59b79f71e9 SGX target: implement networking
1a894f135e SGX target: implement streams
8d6edc9f8f SGX target: implement synchronization primitives and threading
1e44e2de6c SGX target: implement user memory management
39f9751716 SGX target: add thread local storage
4a3505682e Add x86_64-fortanix-unknown-sgx target to libstd and dependencies
a40aa45980 Rollup merge of #56574 - cbarrick:master, r=varkor
06f3b57633 Rollup merge of #56561 - Zoxc:too-raw, r=Gankro
aa5ba8315a Rollup merge of #56555 - Mark-Simulacrum:stderr-profile, r=wesleywiser
0e41ef13aa Rollup merge of #56516 - frewsxcv:frewsxcv-eq, r=Mark-Simulacrum
6a07f23c78 Rollup merge of #56434 - Zoxc:par-tests, r=michaelwoerister
6d3501ebe3 Rollup merge of #56250 - dwijnand:ptr-hash, r=alexcrichton
92638ef0cb Rollup merge of #56000 - hug-dev:armv8m.main, r=alexcrichton
a2fb99bc17 Auto merge of #54271 - petrochenkov:nolegder, r=eddyb,alexcrichton
8ab115c21d Unsupport `#[derive(Trait)]` sugar for `#[derive_Trait]` legacy plugin attributes
5182cc1ca6 Auto merge of #55318 - Aaron1011:fix/final-auto-trait-resolve, r=nikomatsakis
813b484d1e Fix printing of spans with no TyCtxt
93294ea456 Fix
4fac7396a2 Fix a race condition
ecd5efa641 Show usages of query cycles and correctly shift queries in a cycle
b6d3668c42 Fix a stutter in the docs for slice::exact_chunks
118e052d84 Auto merge of #56565 - matthiaskrgr:clippy, r=oli-obk
cd48ce1e9a Auto merge of #56282 - qnighy:additional-sizedness-fix, r=nikomatsakis
078984d892 submodules: update clippy from 29bf75cd to 1df5766c
4bb5d35659 Auto merge of #56392 - petrochenkov:regensym, r=oli-obk
c559216ad0 Change sys::Thread::new to take the thread entry as Box<dyn FnBox() + 'static>̣
6c03640646 Update compiler_builtins and remove wasm f32<->f64 math conversions
22c4368993 Refactor net::each_addr/lookup_host to forward error from resolve
030b1ed7f7 Refactor stderr_prints_nothing into a more modular function
7df4b812f0 Fix bug in from_key_hashed_nocheck
367e783e6f Auto merge of #56557 - pietroalbini:rollup, r=pietroalbini
128a1fa4e1 Auto merge of #55635 - oli-obk:min_const_unsafe_fn, r=nikomatsakis
cd1ee5edbd Rollup merge of #56553 - wesleywiser:silence_profiler_output, r=Mark-Simulacrum
e9e92d53ad Rollup merge of #56548 - Lucretiel:string-extend-optimize, r=sfackler
9e7ff56750 Rollup merge of #56528 - sinkuu:unused_dep, r=Mark-Simulacrum
bd8dd11d4d Rollup merge of #56525 - udoprog:linux-current-exe, r=alexcrichton
e941e1a624 Rollup merge of #56500 - ljedrz:cleanup_rest_of_const_lifetimes, r=zackmdavis
50148a9566 Rollup merge of #56446 - arielb1:special-env-implications, r=nikomatsakis
0be8537e23 Rollup merge of #56441 - ollie27:rustbuild_compiler_docs, r=alexcrichton
0aa72ad55d Rollup merge of #56426 - petrochenkov:syntweak, r=nikomatsakis
e57ed0ddab Rollup merge of #56362 - varkor:stabilise-exhaustive-integer-patterns, r=nikomatsakis
a88feabac4 Rollup merge of #56332 - GuillaumeGomez:specifi-crate-search, r=QuietMisdreavus
3073c7af5f Rollup merge of #56315 - weiznich:rustdoc_inline_macro_reexport, r=QuietMisdreavus
77a6a61f06 Auto merge of #56307 - RalfJung:stacked-borrows-2-phase, r=oli-obk
84443a3a24 Send textual profile data to stderr, not stdout
3858aff9d3 Don't print the profiling summary to stdout when -Zprofile-json is set
811a2bfe53 Added explainatory comments
1839c144bc Auto merge of #54517 - mcr431:53956-panic-on-include_bytes-of-own-file, r=michaelwoerister
823dd8ca33 Fixed mutability
4988b096e6 Auto merge of #56549 - pietroalbini:rollup, r=pietroalbini
f8ee5ab803 Rollup merge of #56538 - xfix:patch-13, r=bluss
0fb90f372e Rollup merge of #56523 - JohnHeitmann:es6, r=GuillaumeGomez
39d4c0caa4 Rollup merge of #56498 - GuillaumeGomez:line-numbers, r=QuietMisdreavus
bcf2fa190e Rollup merge of #56497 - ljedrz:cleanup_libstd_const_lifetimes, r=kennytm
d07d299cba Rollup merge of #56476 - GuillaumeGomez:invalid-line-number-match, r=QuietMisdreavus
650b4ed5d1 Rollup merge of #56466 - ljedrz:delete_tuple_slice, r=nikomatsakis
1276ffeba2 Rollup merge of #56456 - oli-obk:private_impl_trait, r=cramertj
4ff4fc1bc9 Rollup merge of #56452 - sinkuu:redundant_clone, r=nikic
21ba28f1c6 Rollup merge of #56424 - mark-i-m:explain-raw, r=Centril
b6e2fc9aff Rollup merge of #56388 - matthewjasper:more-lexical-mir-cleanup, r=nikomatsakis
b2a002dc4b Rollup merge of #56372 - wildarch:issue-55314-second-borrow-ref, r=davidtwco
64371f1cfe Rollup merge of #56119 - frewsxcv:frewsxcv-option-carrier, r=TimNN
1594a4245b Rollup merge of #55987 - Thomasdezeeuw:weak-ptr_eq, r=sfackler
66ba6b3a66 Rollup merge of #55563 - GuillaumeGomez:doc-search-sentence, r=QuietMisdreavus
159886863b Rollup merge of #51753 - gruberb:document-from-conversions-libstdpath, r=QuietMisdreavus
180dcc3118 Optimized string FromIterator impls
ed64b1927b Fix precise_pointer_size_matching tests on all platforms
14997d56a5 Auto merge of #55933 - euclio:doc-panic, r=QuietMisdreavus
b866f7d258 Auto merge of #56535 - matthiaskrgr:clippy, r=oli-obk
a964307999 Add a test for cloned side effects
3eddc743f2 Use inner iterator may_have_side_effect for Cloned
c359f98c7a emit error when doc generation fails
dc0bbd0b31 submodules: update clippy from b2601beb to 29bf75cd
93ac09c3b5 Auto merge of #55466 - sinkuu:cleanup, r=petrochenkov
21cb46a6e9 Auto merge of #55922 - oli-obk:slice_pat_ice, r=zackmdavis
6cfbb5b9a1 Remove unused dependency (rustc_lint -> rustc_mir)
f423ff7be8 Fix pretty test
d8046ed51a Auto merge of #56519 - steveklabnik:edition-guide, r=pietroalbini
3512fb0467 Avoid extra copy and syscall in std::env::current_exe
f0f8aa9e05 adds DocTest filename variant, refactors doctest_offset out of source_map, fixes remaining test failures
5d7cf59e94 Added trailing newline
56ace3e870 Added a bare-bones eslint config (removing jslint)
88130f1796 updates all Filename variants to take a fingerprint
6ee4d3cafc new_source_file no longer enters duplicate files, expand_include_bytes includes the source if it can convert bytes to string
6b0ac4987a build the edition guide
b3af09205b Auto merge of #56486 - matthewjasper:propagate-all-closure-bounds, r=pnkfelix
c025d61409 Replace usages of `..i + 1` ranges with `..=i`.
b2e6da7a7f Call methods on the right tcx
9012af6f19 Utilize `?` instead of `return None`.
906deae079 Auto merge of #56244 - oli-obk:loud_ui_errors, r=nikomatsakis
0f47c2a078 Add Armv8-M Mainline targets
431e0ab62f Auto merge of #55871 - ljedrz:llvm_back_allocations, r=nagisa
d0c64bb296 cleanup: remove static lifetimes from consts
e41e85cb5c Fix line numbers display
cb71752f91 Tidy fixup
956b03f7db Add a test case for inlining the docs of a macro reexport
9d4e17ae1a Remove support for proc macro doc inlining
11fb023d4f Allow renaming macro
8c4129cd9a cleanup: remove static lifetimes from consts in libstd
58e9832a0d Auto merge of #56224 - ehuss:update-cargo, r=alexcrichton
f4115765c5 Intrinsic checks are just needed for `qualify_min_const_fn`
b77969466c Clear up some code
932dbe816e Explain unsafety trickery of const functions
b75d5f1867 Clean up the logic in `is_min_const_fn`
ae0b00cada Add and update tests
137a640d61 Automatically generate imports for newtype_index `Deserialize` impls
3ce211dbd0 Increase code-reuse and -readability
37ef5e43af Add tests for stable unsafe features in const fn
4497ff3762 Emit feature gate suggestion
e5d90652e2 Comment on the unsafety code for layout constrained fields
55abc0bc90 Also prevent mutation fields directly
1894a5fe2c Also make immutable references to non-freeze restricted value range types unsafe
081c49783f generalize the message about the creation of layout restricted types
c4a850078c Adjust a rustc test to the safety changes
14218e3969 Trailing newlines again
8bdb11c4d9 Forbid the creation of mutable borrows to fields of layout constrained types
693c55372e Move ref to packed struct field check into projection arm
ec6573f33b Make `newtype_index` safe
02b22323f1 Make sure the initialization of constrained int range newtypes is unsafe
cc3470ce3b Add test for dereferencing raw pointers and immediately referencing again
906a49eef2 Document unsafe rules with comments and `bug!` calls
f2ae7b78d6 Allow calling `const unsafe fn` in `const fn` behind a feature gate
450a8a6f35 Add extra comment slash
ff97569dd9 Update doc-ui tests
690439bb45 Update ui tests
374a096cb1 Remove unused stderr file
1b636b1cd9 Newlines.... newlines everywhere
296398ab52 Add a test ensuring that we don't regress this
61efc3b71b Update tests
2664aadaa2 Report failing tests without `//~ ERROR` comments
ad765695d1 Fix ptr::hash, just hash the raw pointer
6fab3f9c69 Make ptr::hash take a raw painter like ptr::eq
596e10fd32 Auto merge of #55707 - GuillaumeGomez:file-sidebar, r=QuietMisdreavus
bc7c3dc71d sort_by_cached_key -> sort_by
65aa0a6249 Remove redundant clone
91d5d56c00 Auto merge of #55682 - GuillaumeGomez:primitive-sidebar-link-gen, r=QuietMisdreavus
5912a690e0 Auto merge of #56467 - oli-obk:osx_stack_bump, r=nagisa
4e3128223b Fix test
11af6f66cb Use iterator and pattern APIs instead of `char_at`
d748712521 Propagate all closure requirements to the caller
c8ae2de836 Auto merge of #55041 - evq:thumbv8m, r=alexcrichton
d08f7dcdca Address review comments
3f253f5394 Improve filter test
82a7b6fde8 Don't generate suffix for source-file.js
d415844f5e syntax: Remove `#[non_exhaustive]` from `Edition`
08f8faedd0 syntax: Rename some keywords
101467c152 syntax: `dyn` is a used keyword now
0b40be696e link to raw identifiers
9c8802dc01 Explain raw identifer syntax
db64f60b1d Bump stack size to 32MB
651373c13d data_structures: remove tuple_slice
0c999ed132 Auto merge of #56451 - kennytm:rollup, r=kennytm
46c88b9502 Update rls
9dfc98ff17 Run x86_64-gnu-tools job for "update cargo" PRs since cargo can break RLS.
8c20adddbc Update cargo
1fb82b5a03 Handle existential types in dead code analysis
e6c8e9dc79 update miri
ef2b18a873 fix recently added Retag statement
005df5fe03 provide a way to replace the tag in a Scalar/MemPlace
d2c19e0bcc Retag needs to know whether this is a 2-phase-reborrow
9cd3bef4cf Auto merge of #55010 - tromey:Bug-9224-generic-parameters, r=michaelwoerister
ac363d8793 Rollup merge of #56438 - yui-knk:remove_not_used_DotEq_token, r=petrochenkov
21433f2812 Rollup merge of #56435 - RalfJung:libstd-without-c, r=alexcrichton
a498a6d198 Rollup merge of #56433 - yui-knk:update_comment_of_parse_visibility, r=petrochenkov
52a4fc8130 Rollup merge of #56432 - ordovicia:shrink-to-issue, r=Centril
ca98bce303 Rollup merge of #56419 - mark-i-m:remove-try, r=Centril
71d76bec1e Rollup merge of #56418 - petrochenkov:wintidy, r=nagisa
17f6fc78c5 Rollup merge of #56416 - GuillaumeGomez:css-body, r=QuietMisdreavus
81752fd85d Rollup merge of #56412 - petrochenkov:extself, r=Centril
65e67025c8 Rollup merge of #56402 - scottmcm:better-marker-trait-example, r=Centril
2cbcd36ca9 Rollup merge of #56401 - scottmcm:vecdeque-resize-with, r=dtolnay
441aaf8110 Rollup merge of #56395 - Centril:stabilize-dbg-macro, r=SimonSapin
bf96a7bbed Rollup merge of #56366 - alexreg:stabilise-self_in_typedefs, r=Centril
e9a805522c Rollup merge of #56141 - jnqnfe:osstr_len_clarity, r=nagisa
38e21f92f1 Fix link in Weak::new
d4b41fa031 Add sync::Weak::ptr_eq
380dd7d47b Add rc::Weak.ptr_eq
7139e1c3ab Auto merge of #56305 - RalfJung:miri, r=oli-obk
2043d30c2e codegen_llvm_back: improve allocations
27b9a94b8a update miri
44b0fd6202 update miri
25c375413a Auto merge of #56394 - cuviper:interrupted-timeout, r=sfackler
a563ceb3b9 Auto merge of #56358 - nikic:mergefunc-aliases, r=rkruppe
59e9a1e75a pass the parameter environment to `traits::find_associated_item`
b817d0b651 Auto merge of #56110 - varkor:inhabitedness-union-enum, r=cramertj
23abd182d8 Fix invalid line number match
21f2684950 Auto merge of #56198 - bjorn3:cg_ssa_refactor, r=eddyb
3b705a0ece rustbuild: Fix issues with compiler docs
96bf06baf3 Remove not used `DotEq` token
8660eba2b9 Auto merge of #56275 - RalfJung:win-mutex, r=SimonSapin
850d2f1af0 Run name-anon-globals after all other passes
bd20718c8f make the C part of compiler-builtins opt-out
eb1d2e637e Address review comments
2d4b633be3 Delay gensym creation for "underscore items" until name resolution
c658d73401 resolve: Avoid "self-confirming" resolutions in import validation
d605e1d055 explicitly control compiler_builts/c feature from libstd
ebe69c06b3 avoid MaybeUninit::get_mut where it is not needed
f4f8b211a8 let FIXME refer to tracking issue
f9fb8d6435 no reason to use mutable references here at all
9abc231212 Auto merge of #56378 - ljedrz:arena_tweaks, r=nagisa
172ec724af Fix "line longer than 100 chars"
0765eb95b5 Auto merge of #56406 - nrc:update, r=kennytm
70371fde17 Add description about `crate` for parse_visibility's comment
95f32f1ebd arena: improve common patterns
1e18cc916f Update issue number of `shrink_to` methods to point the tracking issue
af7554d3a2 Auto merge of #56396 - dlrobertson:fix_va_list_tests, r=nikic
e7e96921c2 remove some uses of try!
12c9b79b68 Fix failing tidy (line endings on Windows)
08a6cf30f0 Remove unneeded body class selector
df0ab06073 Update tracking issue for `extern_crate_self`
d311571906 Auto merge of #55275 - petrochenkov:extself, r=eddyb
549bd45e9e resolve: Support aliasing local crate root in extern prelude
7a7445bdfd Update RLS and Rustfmt
a3b7a21268 Improve the unstable book example for `#[marker]`
4c2c523a05 Move VecDeque::resize_with out of the impl<T:Clone> block
d3ed34824c Auto merge of #56165 - RalfJung:drop-glue-type, r=eddyb,nikomatsakis
aef4dbfaa7 Auto merge of #56391 - alexcrichton:less-compare-mode, r=Mark-Simulacrum
f4cde5bc4e stabilize std::dbg!(...)
f107514aef Deal with EINTR in net timeout tests
8ee62bb239 ci: Only run compare-mode tests on one builder
d609fdf775 Updated ui tests.
7bc1255955 Removed chapter from Unstable Book.
aa5a4ef59d Removed feature gate.
6000c2e0e1 Use visit_local to find 2PB activations
4f5b8eace1 Remove the `region_map` field from `BorrowSet`
d92287a4e9 Fix some rustc doc links
4406391cdc Fix bug in matching on floating-point ranges
0fb52fb538 Separate out precise_pointer_size_matching tests from exhaustive_integer_patterns tests
28ca35fd13 tests: Simplify VaList run-make test
d09466ceb1 Auto merge of #56381 - kennytm:rollup, r=kennytm
a6c4771520 Rollup merge of #56214 - scalexm:unification, r=nikomatsakis
f3be931ab7 Rollup merge of #56337 - phansch:fix_const_ice, r=oli-obk
ecfe721620 Rollup merge of #56324 - Zoxc:int-ext, r=nikomatsakis
2584d9216d Rollup merge of #55011 - vi:panic_immediate_abort, r=alexcrichton
440bda4dc8 Rollup merge of #56365 - alexreg:stabilise-self_struct_ctor, r=Centril
8641b8d1e2 Rollup merge of #56373 - steveklabnik:update-books, r=Mark-Simulacrum
fb2b2f5582 Rollup merge of #56367 - alexreg:move-feature-gate-tests-1, r=Centril
42bac05d72 Rollup merge of #56364 - dlrobertson:fix_55903, r=oli-obk
ddc7ef2d07 Rollup merge of #56360 - alexcrichton:linkchecker-omg, r=pietroalbini
45aaaa70bb Rollup merge of #56355 - Zoxc:inline-things, r=michaelwoerister
cb9add6303 Rollup merge of #56349 - davidtwco:issue-55396-inference-extension, r=nagisa
540f4cfa71 Rollup merge of #56341 - frewsxcv:frewsxcv-util-cstr, r=Mark-Simulacrum
78c598a7a2 Rollup merge of #56339 - yui-knk:remove_mir_stats_flag, r=alexcrichton
bdb901c865 Rollup merge of #56336 - nnethercote:clean-up-pp, r=nikomatsakis
ce00a8dd4d Rollup merge of #56268 - nnethercote:fold_opt_expr-recycle, r=petrochenkov
f7c407eb8b Rollup merge of #56216 - SimonSapin:array-tryfrom-slice, r=withoutboats
c3950c84c0 Rollup merge of #56131 - ljedrz:assorted, r=RalfJung
e40f37e39d Rollup merge of #56014 - euclio:issue-21335, r=nagisa
b8198da4d2 Rollup merge of #55821 - ljedrz:cached_key_sorts, r=michaelwoerister
a8248976fd Moved feature-gate tests to correct dir.
24717fdaa1 Updated ui tests.
d49a8d558f Removed feature gate.
ca0806c703 arena: speed up TypedArena::clear
934871aa79 Add the edition guide to doc.rust-lang.org
4c34404940 update nomicon
1560a75f6a Refer to the second borrow as the "second borrow".
4fc5758a67 Update existing tests with more precise error messages
e018268ffa Add precise_pointer_size_matching feature
f1f6d87eab Stabilise exhaustive_integer_patterns
247ab49668 Pacify tidy
9b847f0f96 Fix const_fn ICE with non-const function pointer
946ea1453d Inline things
d48ab693d1 Auto merge of #49219 - eddyb:proc-macro-decouple, r=alexcrichton
3a04d448f9 bootstrap: provide host `rust_test_helpers` to compiletest, not just target.
840c3010f5 tests: ignore wasm32 for run-pass/proc-macro/expand-with-a-macro.
dcf736d7ad tests: use alloc instead of libc in unnecessary-extern-crate, to make it work on wasm.
f385589dde compiletest: don't pass -Clinker when `// force-host` was requested.
b4e504f5b8 tests: use a #![no_std] target crate in run-make/rustc-macro-dep-files.
eb2c71cdf2 bootstrap: don't use libraries from MUSL_ROOT on non-musl targets.
f083c32da7 tests: support cross-compilation in run-make/rustc-macro-dep-files.
15c77caf59 bootstrap: ensure that `libproc_macro` is available on the host for tests even when cross-compiling.
3369929ddb tests: use `force-host` and `no-prefer-dynamic` in all proc_macro tests.
fcca22cb40 tests: move all proc_macro tests from -fulldeps.
d3ab4a74ef tests: remove ignore-stage1 where possible in proc_macro tests.
188d2dafcd Statically link proc_macro into proc macros.
67afeef9e4 proc_macro: move to a dependency of libtest.
8cf463bcff proc_macro: move the rustc server to syntax_ext.
38fee305da proc_macro: remove the __internal module.
e305994beb proc_macro: introduce a "bridge" between clients (proc macros) and servers (compiler front-ends).
5f19cdc4f8 Changed test for issue 56202 to compile-pass.
027bf8b4de Use opt_def_id instead of having special branch
c144dc07e3 Fix ICE with feature self_struct_ctor
a0fec9488e Fix panic with outlives in existential type
cbf748993f Enable -mergefunc-use-aliases
f18a8c6163 Fix exceeding line width limit
d3f9788e59 panic_immediate_abort: Fix issues from review
225140ed21 Optimize local linkchecker program
fdef3848a0 Add libstd and libcore Cargo features "panic_immediate_abort"
4cce4ffdef Add inline attributes and add unit to CommonTypes
1cdf5df451 Fix error message after rebase
46ef9f820c Fix broken tests
32a8dec889 Clarify undecided semantics
d2b340758b Add a test for uninhabitedness changes
682f0f8d80 Consider references and unions potentially inhabited during privacy-respecting inhabitedness checks
1fce415649 Correctly generalize inference variables in `nll_relate`
c805e817a9 Fix doc comments
b2b82f790b Implement `AggregateOps` `make_solution` does not return any guidance for now
0169dc3f36 Implement `ResolventOps`
3b2cfc510b Handle inference variables in `nll_relate` and use it for chalk
fb204cb92f Add template parameter debuginfo to generic types
0124341935 Only consider stem when extension is exe.
3e90a12a8a Auto merge of #49878 - dlrobertson:va_list_pt0, r=eddyb
d108a913c7 Move get_static from CodegenCx to Builder
ceb29e2ac4 Use implicit deref instead of BuilderMethods::cx()
e45733048e Require Deref to CodegenCx for HasCodegen
f47505e867 Rename static_bitcast to const_bitcast
e8da3c6c32 Remove static_addr_of_mut from cg_ssa
aaca5a38ee Rename StaticMethods::static_ptrcast to ConstMethods::const_ptrcast
59682d3e2a Remove static_bitcast from cg_ssa
b8d55d45ce Remove an unnecessary reference
2d4c96d1b1 Move IntrinsicCallMethods::call_overflow_intrinsics to BuilderMethods::checked_binop
9a9045573f Remove call_lifetime_intrinsic from cg_ssa
187c4cf257 Use BackendTypes instead of Backend or HasCodegen in a few places
66c3195c4c Rustfmt on cg_ssa/traits
15a5009af0 Don't use llvm intrinsic names in cg_ssa
8698f5c43d Remove __build_diagnostic_array! from cg_utils
2d46ee26fb Remove static_replace_all_uses and statics_to_rauw from cg_ssa
436eff5e84 Make ConstMethods and StaticMethods require BackendTypes instead of Backend
b3b6e4dd9b Some refactorings
3dde9e1322 Auto merge of #56298 - tromey:update-and-reenable-lldb, r=alexcrichton
e955dbca99 Use raw_entry for more efficient interning
2a91bbac5d Rename conversion util; remove duplicate util in librustc_codegen_llvm.
0c1dc62c1e Auto merge of #56340 - GuillaumeGomez:rollup, r=GuillaumeGomez
3b64f86beb Rollup merge of #56330 - estebank:cleanup-span, r=zackmdavis
1fe2085441 Rollup merge of #56322 - petrochenkov:edlints, r=eddyb
f20a1d7b5d Rollup merge of #56321 - jnqnfe:css_nested_list_margin, r=GuillaumeGomez
79f02e4b33 Rollup merge of #56319 - RalfJung:async-mutable-ref, r=cramertj
9a5725c77a Rollup merge of #56312 - oli-obk:const_eval_literal, r=eddyb
ad6434ecad Rollup merge of #56294 - polyfloyd:fix-typo-ffi-doc, r=sfackler
e3635f2298 Rollup merge of #56289 - marius:patch-1, r=cramertj
87fa7dc69a Rollup merge of #56273 - GuillaumeGomez:iterator-fnmut-missing-link, r=steveklabnik
2d3236c68f Rollup merge of #56257 - mark-i-m:rustc-guide-links, r=nikomatsakis
d1b0681bd7 Rollup merge of #56255 - jasonl:update-old-documents, r=michaelwoerister
1b7da84e9d Rollup merge of #56236 - frewsxcv:frewsxcv-unsafe-unsafe, r=cramertj
5bc98a731d Rollup merge of #56223 - Mark-Simulacrum:self-profile-json, r=wesleywiser
796892e0ef Rollup merge of #56220 - estebank:suggest-lifetime-move, r=nikomatsakis
40ec109888 Rollup merge of #56149 - ariasuni:improve-amctime-doc, r=TimNN
143193be6d Rollup merge of #56148 - mark-i-m:rustc-guide-submodule, r=nikomatsakis
c23e4ea8dc Rollup merge of #56127 - rust-lang:oli-obk-patch-1, r=nikomatsakis
3ed113cece Rollup merge of #56124 - antoine-de:fix_read_to_end_doc_mistake, r=TimNN
aebf07e3eb Rollup merge of #56114 - varkor:nonexhaustive-backticks, r=nikomatsakis
36a4abf6e0 Rollup merge of #56080 - mark-i-m:patch-2, r=steveklabnik
5d395add7f Rollup merge of #56023 - vorner:doc/atomic-ordering-strip, r=@stjepang
8e7a8b81e8 Rollup merge of #56021 - RalfJung:track-features, r=oli-obk
8ca3cb90b3 Rollup merge of #55391 - matthiaskrgr:bootstrap_cleanup, r=TimNN
8f9a093f52 Fix another related ICE
71f643e5bf Remove not used option
147e60c5f8 Auto merge of #56313 - nikic:update-llvm, r=alexcrichton
28cc3405a8 r/\t/    /
9c282b44c2 Support arbitrary slice constants for pattern deaggregation
7df1d9f656 Allow constants of byte slice type as patterns
5a03532ea9 Auto merge of #56245 - mark-i-m:stabilize_ques_kleene, r=alexcrichton
64cd645d14 Split up `pretty_print` and `print`.
787959c20d Use `Cow` in `Token::String`.
deb9195e57 Remove `huge_word` and `zero_word`.
6c80f7c4fc Fix whitespace in `pp.rs`.
a49316ddc9 Auto merge of #56329 - eddyb:load-operand-overaligned, r=nikomatsakis
9139374181 Fix Tidy error
5045e12bd7 Filter out self-referential projection predicates
afe41078ad Add arrow to the crate select box
5f387a6032 Auto merge of #56300 - nikic:issue-56267, r=eddyb
66a2c39290 Clean up span in non-trailing `..` suggestion
51cf4e9e91 rustc_codegen_llvm: don't overalign loads of pair operands.
d77edb6458 resolve: Fix false-positives from lint `absolute_paths_not_starting_with_crate`
8062c7ae4b Add test for crate filtering
dd717deccb Add crate filtering
46a683111d fix futures aliasing mutable and shared ref
1a84d211a2 Check all substitution parameters for inference variables
f57247c48c Ensure that Rusdoc discovers all necessary auto trait bounds
afb8cba5fc Move hir::Lit -> ty::Const conversion into its own file
230f5d5676 rustdoc: Fix inlining reexporting bang-macros
50b4eefcf5 rustdoc: Fix inlining reexported custom derives
c013de4f9b rustdoc: add margin-bottom spacing to nested lists
2ec76e76e4 Update LLVM
40412dc09a Deduplicate literal -> constant lowering
8cab350c85 Don't use ReErased in deferred sizedness checking.
dd593d3ab8 get_ref -> get_mut
965fdb0294 fix build
12d90aa949 put the MaybeUninit inside the UnsafeCell
5d7717360c fix test
d8190afbcb Fix alignment of stores to scalar pair
b68fc18c45 Auto merge of #56293 - matthiaskrgr:clippy, r=oli-obk
e63bd91895 Fix a typo in the documentation of std::ffi
097b5db5f6 Move feature enable in ptr::hash doc example
2dd48f834f submodules: update clippy from 754b4c07 to b2601beb
9755410f73 Try to fix ptr::hash's doc example
999595f640 Re-enable lldb
aeede9eb46 fix test
59ae93daed remove uses of feature gate
f3b29ca1c2 remove unstable book entry
e97edad935 update tests
32aafb2203 remove some unused vars
a542e48871 remove feature gate
c75ed34732 move feature gate to accepted
400c2bc5ed Auto merge of #56264 - petrochenkov:typonly, r=nikomatsakis
73b656bbb3 Fix small typo in comment
4a7ffe2646 Fix issue number
afb4fbd951 Add an assert_eq in ptr::hash's doc example
81251491dd Pick a better variable name for ptr::hash
7b429b0440 Fix stability attribute for ptr::hash
aeff91d977 Auto merge of #56251 - scalexm:root-universe, r=nikomatsakis
a4f12344c6 add comments explaining our uses of get_ref/get_mut for MaybeUninit
2f2f37983d add missing feature
9d35e57907 Normalize type before deferred sizedness checking.
a8f9302047 avoid features_untracked
a810275150 fix build
10e2c729ea Auto merge of #55402 - estebank:macro-eof-2, r=nikomatsakis
cd2e98dbd3 resolve: Extern prelude is for type namespace only
691a7f8e2b Auto merge of #56094 - RalfJung:memory-data-revived, r=oli-obk
6739c0e935 Add missing doc link
f2af41ab8c use MaybeUninit instead of mem::uninitialized for Windows Mutex
d4a6e739f3 Use sort_by_cached_key when key the function is not trivial/free
45205f2ac1 Auto merge of #56262 - petrochenkov:nabsedihyg, r=petrochenkov
e9e084f5fa test: Add basic test for VaList
08140878fe libcore: Add va_list lang item and intrinsics
75d937c49b Auto merge of #54668 - RalfJung:use-maybe-uninit, r=SimonSapin
6f028fe8e0 Specify suggestion applicability
6f13708299 resolve: Suggest `crate::` for resolving ambiguities when appropriate
d1862b4196 resolve: Fallback to extern prelude in 2015 imports used from global 2018 edition
5e121756ef resolve: Generalize `early_resolve_ident_in_lexical_scope` slightly
c06e69ee70 resolve: Fallback to uniform paths in 2015 imports used from global 2018 edition
dae4c7b1ff resolve: Implement edition hygiene for imports and absolute paths
5558c07c6e Fix ptr::hex doc example
fba116fc5f Remove duplicate tests for uniform paths
6494f1e60e rustc-guide has moved
a1865edb75 Add rustc-guide as a submodule
cd20be5091 Update outdated code comments in StringReader
efb2949b93 Put all existential ty vars in the `ROOT` universe
86d20f9342 FIXME is the new TODO
47b5e23e6b Introduce ptr::hash for references
769d7115fe add test for issue #21335
45dfe43887 Emit one diagnostic for multiple misplaced lifetimes
cc466851bc Remove unsafe `unsafe` inner function.
6bfb46e4ac Auto merge of #55835 - alexcrichton:llvm-upgrade, r=nikomatsakis
b51632e3f0 Auto merge of #56070 - oli-obk:const_let, r=eddyb
7215963e56 Temporarily disable LLDB
cc9c91d385 Pass `--export-dynamic` to LLD for wasm
c86b1529a5 wasm: Pass `--no-demangle` to LLD
bf01bcb451 Conditionally compile in only the extra argument.
a43a7a0778 Make Rustc build with LLVM trunk.
ae5b350d77 Handle some renamed ThinLTO functions
7be0b23b69 Upgrade to LLVM trunk
423291f14b Auto merge of #55705 - ethanboxx:master, r=SimonSapin
2d2b7c01eb Make JSON output from -Zprofile-json valid
c14ab13e61 Auto merge of #56194 - eddyb:top-unhack, r=alexcrichton
057e6d3a35 Add TryFrom<&[T]> for [T; $N] where T: Copy
6aa4eb923f HACK(eddyb) Cargo.toml: also exclude the `obj` directory from the workspace.
d9ca24e870 Cargo.toml: exclude the `build` directory from the workspace.
e281446261 Try to make top-level Cargo.toml work without __CARGO_TEST_ROOT.
234d043d18 Move lifetimes before the *first* type argument
79ee8f329d Suggest appropriate place for lifetime when declared after type arguments
121e5e806e fix missing borrow
07b97a486f Use a reference rather than take ownership
6acbb5b65c Auto merge of #55527 - sgeisler:time-checked-add, r=sfackler
5bd451b265 Auto merge of #56215 - pietroalbini:rollup, r=pietroalbini
cd17b1d4b6 Rollup merge of #56211 - petrochenkov:fwd, r=petrochenkov
baf45d6d90 Rollup merge of #56210 - RalfJung:c_str, r=oli-obk
d21d510dde Rollup merge of #56207 - SimonSapin:int_to_from_bytes, r=nagisa
dcae83b6a3 Rollup merge of #56204 - estebank:suggest-variant, r=zackmdavis
686257c256 Rollup merge of #56176 - GuillaumeGomez:panic-setup-msg, r=nagisa
e03fa3eec6 Rollup merge of #56170 - wesleywiser:fix_self_profiler_windows, r=estebank
989678e525 Rollup merge of #56151 - alexcrichton:move-out-flaky-test, r=nagisa
ed6c7b751d Rollup merge of #56144 - tromey:Bug-55771-btreemap, r=alexcrichton
6398df1520 Rollup merge of #56101 - frewsxcv:frewsxcv-dyn, r=steveklabnik
45e5a856a6 Rollup merge of #56100 - RalfJung:visiting-generators, r=oli-obk
ab5e45ae6b Rollup merge of #56075 - alexcrichton:wasm-producer-section, r=estebank
b16d8eb3f2 Rollup merge of #56072 - da-x:stabilize-literal-matcher, r=petrochenkov
6c2513c0d3 Rollup merge of #56045 - qnighy:additional-sizedness, r=cramertj
1aa3ffaf99 Rollup merge of #56024 - oli-obk:const_fn_collect_inner, r=michaelwoerister
fe548e311a resolve: Fix some more asserts in import validation
e593431bc7 resolve: Fix bad span arithmetics in import conflict diagnostics
d4a78da543 resolve: Prohibit relative paths in visibilities on 2018 edition
2472e83250 Typo
e9bca7a993 Auto merge of #55906 - nnethercote:rm-OpenSnapshot-CommittedSnapshot, r=nikomatsakis
a6ea01f239 fix length of slice returned from read_c_str
0fac350f99 yay for NLL
af54eb2916 read_c_str should call the AllocationExtra hooks
349271ab2c Typo
fb8b1e3989 accept undef in raw pointers, for consistency with integers
261faf3ce2 machine hooks for stack push and pop, frame machine data
53ed3b7956 make memory allocation hook infallible
6cca7165ea pass MemoryExtra to find_foreign_static and adjust_static_allocation; they might have to create allocations
4c090fe310 bring back MemoryExtra
68a26ec647 Stabilize the int_to_from_bytes feature
94967ae8c1 Remove `OpenSnapshot` and `CommittedSnapshot` markers from `RegionConstraintCollector`.
2d68fa07bf Remove `OpenSnapshot` and `CommittedSnapshot` markers from `SnapshotMap`.
f23c969492 Introduce `in_snapshot` and `assert_open_snapshot` methods.
f5624e41e8 Make `commit` and `rollback_to` methods take ownership of the snapshots.
7fe09a6551 Replace a `.truncate(0)` call with `.clear()`.
c86bbd4830 Rename `UndoLogEntry` as `UndoLog`.
9847b5cfcb Remove `insert_noop`.
1e34dfce6f Update to `ena` 0.11.0.
abe19a7305 Auto merge of #55921 - scalexm:placeholders, r=nikomatsakis
37961dbd2d Auto merge of #55959 - matthewjasper:remove-end-region, r=nikomatsakis
dce1c4530e [Windows] Work around non-monotonic clocks in the self-profiler
6b338e034a Suggest correct enum variant on typo
2dd94c133e Auto merge of #55915 - oli-obk:miri_engine_refactoring, r=RalfJung
b8a30f04cd Try to work around #53332 in `src/test/run-pass/rustc-rust-log.rs`
edaac35d67 Auto merge of #56201 - kennytm:revert-55935, r=alexcrichton
91f8e3721c Revert "appveyor: Use VS2017 for all our images"
1b432a612f Add test for source files feature
8d67de4e91 Don't show file sidebar by default
b853252bcd Rebase fallout
360f9888bc update miri submodule
3220c0ce1a Explain why vtable generation needs no alignment checks
22872196f5 Factor out mplace offsetting into its own method
972d798881 Document `Allocation`
cb8fa33572 tidy
a5ef2d1b54 Array and slice projections need to update the place alignment
10102d1f0a comment nit
9b8e82ad24 Use correct alignment checks for scalars and zsts, too
927c5aab47 Use correct alignment for fat pointer extra part
9d57adf2ba Explain {read,write}_scalar failure to cope with zsts
8b04b09869 Move alignment checks out of `Allocation`
1c08ced995 Explain early abort legality
d3139b9c41 Rebase fallout
b820cc79a9 Clean up array/slice of primitive validation
65b702c6b1 Update miri submodule
87bd5d13d8 Remove stderr file, because the test passes now
ef332959dc Reintroduce zst-slice reading `read_bytes` method on `Memory`
ebf03363f2 Properly test for int pointers in fat pointers to str slices of zero chars
cc2f46e55a Reorder methods in `allocation.rs`
20dee47a66 Add regression test for integral pointers in zst str slice fat pointers
df1ed0c2a6 Make a method that doesn't need `Self` a free function instead
a835555474 Make zst accesses in allocations take the regular path.
3a0e8254b0 Remove unnecessary `Result` (function always returned `Ok`)
07e7804110 Adjust rustc_mir::interpret to changes in `Allocation`/`Memory` methods
9ecde5712e Move some byte and scalar accessors from `Memory` to `Allocation`
ad11856431 Fiddle a `HasDataLayout` through the allocation methods
04210f3e16 Access `self` instead of `alloc`
c392fbbbf1 Adjust generics to `Allocation` parameters
7c9d786e50 Move alignment and bounds check from `Memory` to `Allocation`
d98c46ce57 Move undef mask methods from `Memory` to `Allocation`
eb30ce8acb Move relocation methods from `Memory` to `Allocation`
d40a7713d3 Preliminary code adjustment to let the compiler complain about missing methods
98cd2ad4ea Move some methods from `Memory` to `Allocation`
e87f8cc49b Source sidebar improvements
93520d2ad1 Add source file sidebar
4478dced47 Fix NLL ui test
c0f98e8390 Fix `ChalkInferenceContext::into_hh_goal`
5b2baa8336 Implement some instantiate / canonical routines
95861b1590 Move `BoundTy` debruijn index to the `TyKind` enum variant
6bf17d249b Instantiate all bound vars universally
cdb96be11e Handle placeholder types in canonicalization
91623ca640 Add `HAS_TY_PLACEHOLDER` flag
da3def3ebf Rename some occurences of `skol` to `placeholder`
05995a8522 Introduce `TyKind::Placeholder` variant
7401e3def5 Distinguish between placeholder kinds
d011313d84 Reword EOF in macro arm message
950a3edf27 Fix proc-macro test after internal API change
c45871ba02 Keep label on moved spans and point at macro invocation on parse error
76449d86c0 Point at macro arm when it doesn't expand to an expression
e5cd1edfa1 Reword incorrect macro invocation primary label
34bd86a3fd Add label when replacing primary DUMMY_SP in macro expansion
ea9ccb6046 Point at end of macro arm when encountering EOF
4632cf2a2e Auto merge of #55935 - alexcrichton:vs2017, r=Mark-Simulacrum
59786b020b use more inlining, and force some of it
5e27ee76b6 use MaybeUninit in core::ptr::swap_nonoverlapping_bytes
3fb03d0650 use MaybeUninit in core::ptr::swap
0bb2e2d6d4 use MaybeUninit in core::ptr::{read,read_unaligned}
525e8f4368 use MaybeUninit in core::slice::rotate
f950c2cbd5 use MaybeUninit in core::slice::sort
44c135b6a9 use MaybeUninit in core::fmt
ebb1a48b41 Merge branch 'master' into frewsxcv-dyn
1f57e48411 Auto merge of #56186 - kennytm:rollup, r=kennytm
36189a2739 Rollup merge of #56168 - sfackler:raw-entry-tracking, r=kennytm
a56b0ab4be Rollup merge of #56163 - pietroalbini:1.30.1-relnotes-master, r=pietroalbini
69d4901846 Rollup merge of #56162 - adrianheine:patch-1, r=withoutboats
c9870a4fe7 Rollup merge of #56154 - petrhosek:fuchsia-linker-args, r=alexcrichton
bf72971abc Rollup merge of #56120 - SergioBenitez:subspan, r=alexcrichton
97e6007932 Rollup merge of #56116 - alexcrichton:tarball-calng, r=kennytm
e0025df3fd Rollup merge of #56097 - ogoffart:union-abi, r=eddyb
fb33fa4916 Rollup merge of #56091 - wesleywiser:fix_self_profiler_json, r=petrochenkov
1b707f78f5 Rollup merge of #56048 - bjorn3:cg_ssa_sysroot, r=eddyb
419a101d9c Rollup merge of #56022 - RalfJung:validate-before-jump, r=oli-obk
12f6a42f61 Rollup merge of #55945 - oli-obk:static_assert_arg_type, r=michaelwoerister
ef2cbec5a6 Rollup merge of #55869 - SimonSapin:iterate, r=alexcrichton
738afd4f69 Rollup merge of #55838 - dralley:fix-cfg-step, r=Kimundi
91bceb8fc2 Rollup merge of #55767 - tromey:disable-some-pretty-printers, r=alexcrichton
821bad3a5b Auto merge of #56184 - matthiaskrgr:clippy, r=oli-obk
2598a7a56d submodules: update clippy from 2f6881c6 to 754b4c07
aecbcd1ce2 Auto merge of #55808 - estebank:type-arguments, r=petrochenkov
6a2d1b4e15 Auto merge of #54071 - eddyb:alignsssss, r=oli-obk
4381772695 Fix invalid panic setup message
510f836d23 Do not point at associated types from other crates
a5d35631fe Reword and fix test
48fa974211 Suggest correct syntax when writing type arg instead of assoc type
b6f4b29c6d Point at the associated type's def span
286f7ae1dd Join multiple E0191 errors in the same location under a single diagnostic
abdcb868ff Point at every unexpected lifetime and type argument in E0107
00e03ee574 Auto merge of #56143 - nikomatsakis:issue-56128-segment-id-ice-nightly, r=petrochenkov
60e4158188 Move fake rustc_codegen_ssa dependency from rustc_driver to rustc-main
d6d8a330f8 Add rustc_codegen_ssa to sysroot
b319715456 Disable the self-profiler unless the `-Z self-profile` flag is set
d0f99ddefa Fix the tracking issue for hash_raw_entry
d9de72fcac miri: restrict fn argument punning to Rust ABI
e1ca4f63f4 fix codegen-units tests
c08840d5c3 Auto merge of #53586 - eddyb:top-lock, r=alexcrichton
af9b057156 drop glue takes in mutable references, it should reflect that in its type
01fd0012a1 Include changes from 1.30.1 in release notes
5f2a173f75 explain how this works
b83150e6ac only reset non-restricted visibilities
37f719e0d3 std::str Adapt documentation to reality
dae6c93641 Auto merge of #56136 - matthiaskrgr:clippy, r=oli-obk
8e814ae608 submodules: update clippy from f5d868c9 to 2f6881c6
7c166f54b2 Move Cargo.{toml,lock} to the repository root directory.
93fa2d76bd Auto merge of #56155 - GuillaumeGomez:rollup, r=GuillaumeGomez
61d7b3e9b0 Rollup merge of #56126 - Turbo87:bench-parse, r=alexcrichton
6afecfd785 Rollup merge of #56106 - bjorn3:patch-1, r=alexcrichton
1bc97081a5 Rollup merge of #56078 - ehuss:fix-panic-opt-msg, r=alexcrichton
b473157293 Rollup merge of #56067 - jethrogb:jb/sgx-target-spec, r=alexcrichton
1646fc907e Rollup merge of #56063 - 0xrgb:patch-1, r=joshtriplett
75d226ed76 Rollup merge of #56002 - Axary:master, r=estebank
636f0a9a1d Rollup merge of #55980 - csmoe:issue-55891, r=estebank
fa3941cb99 Rollup merge of #55961 - tromey:Bug-55944-vecdeque, r=nikomatsakis
89e0fcee40 Rollup merge of #55784 - meltinglava:master, r=KodrAus
1c57f0ab9c Rollup merge of #55485 - petertodd:2018-10-manuallydrop-deref, r=TimNN
9aedfd5a3b Rollup merge of #55367 - GuillaumeGomez:private-item-doc-test-lint, r=QuietMisdreavus
f41423c75f Pass additional linker flags when targeting Fuchsia
f3adec65dd Auto merge of #53918 - Havvy:doc-sort-by, r=GuillaumeGomez
d1cd4e8d0d Move a flaky process test out of libstd
5b4747ded7 rustc_target: avoid using AbiAndPrefAlign where possible.
4bec59c93b Auto merge of #56147 - petrochenkov:impice, r=nikomatsakis
3ce8d444af rustc_target: separate out an individual Align from AbiAndPrefAlign.
d56e892085 rustc_target: rename abi::Align to AbiAndPrefAlign.
ec3ac112e1 Make std::os::unix/linux::fs::MetadataExt::a/m/ctime* documentation clearer
ebf3c8d8e9 add compile-pass annotation
6612100de5 Auto merge of #56065 - oli-obk:min_const_fn_loop_ice, r=davidtwco
c746ecfa01 Add test for sidebar link generation
1dc1124979 resolve: Fix some asserts in import validation
9cdf4911db hack: ignore list-stems for pub lint
d4ee1c93ff Fix BTreeSet and BTreeMap gdb pretty-printers
4c7ce7c897 pass vis by shared reference
2bd2fc9418 add regression test
4687eebc28 preserve the original visibility for the "list stem" node
0b9f19dff1 Auto merge of #56134 - oli-obk:clippy_documentation, r=nrc
b8ae7b801b macro_literal_matcher: fixes per petrochenkov's review
fc284c1eee Stabilize macro_literal_matcher
5af8f1d8d7 Fixes primitive sidebar link generation
c209ed8435 Improve no result found sentence in doc search
a0a47904d6 renumber segment ids for visibilities whenever we clone them
40f8094003 add some `debug!` into lowering
d0a174d41b track the span for each id so that we can give a nice ICE
a1e9c7fc2e OsStr: clarify `len()` method documentation
0591ff7525 OsString: mention storage form in discussion
f039872766 Enclose type in backticks for "reached the recursion limit while auto-dereferencing" error
910ec6d97f Auto merge of #56118 - steveklabnik:update-books, r=alexcrichton
33efce1c2f Forward rust version number to tools
c6a803a286 Modify doc to reflect the unsized-locals improvement.
2ff6ffc872 Add tests for unsized-locals functions stability.
8ab5be13a3 Add tests verifying #50940.
8b426232ee Check arg/ret sizedness at ExprKind::Path.
682b33a110 Add require_type_is_sized_deferred.
7933628de5 Remove trailing whitespace
ee7bb94044 Auto merge of #56117 - petrochenkov:iempty, r=eddyb
925274ab70 Update as_temp.rs
e8dafbaf10 Adjust doc comments
d7b3f5c6ae update various stdlib docs
5a2a251b9c Update as_temp.rs
83388e84c2 Update an outdated comment in mir building
6db8c6c6d9 Explain why we do not overwrite qualification of locals
e538a4a7de core/benches/num: Add `from_str/from_str_radix()` benchmarks
22aebd57c8 Add regression test for overwriting qualifs by assignment
e05b61ccd8 Fix a comment
1ed91951c3 fix small doc mistake
42a3f730c7 Tidy
3c290a5326 Ensure assignments don't allow skipping projection checks
301ce8b2aa Properly assign to aggregate fields
591607d237 String: add a FIXME to from_utf16
464c9da9c2 serialize: preallocate VecDeque in Decodable::decode
5c747eb326 Update style of comments
88a708dd6a Update comments
072bca3ff5 Remove 'unsafe' comments
700c83bc05 Document `From` implementations
9e2e57511f Add x86_64-fortanix-unknown-sgx target to the compiler
289ad6e992 Auto merge of #52591 - eddyb:functional-snakes, r=oli-obk
7683180be5 rustc: implement and use Default on more types.
da622a3796 rustc: remove {FxHash,Node,DefId,HirId,ItemLocal}{Map,Set} "constructor" fns.
09e7051b7e Add unstable Literal::subspan().
780658a464 Auto merge of #56032 - petrochenkov:stabecip, r=nikomatsakis
57b7d55591 fix more links
0579ef0166 fix rustbuild to build all the books
240a55ce50 update books
1e4cf740cf resolve: Make "empty import canaries" invisible from other crates
25d0418bd7 ci: Download clang/lldb from tarballs
d4934c748f Add a couple more tests
1af682a557 Stabilize `extern_crate_item_prelude`
b99f9f775c Enclose type in backticks for "non-exhaustive patterns" error
f1e2fa8f04 Auto merge of #56111 - nrc:update, r=kennytm
595bea6b33 Update RLS and Rustfmt
c4cf115056 Auto merge of #55720 - RalfJung:const-eval-raw, r=oli-obk
a4279a07e2 Capitalize
8a5bbd9a4e Add tracking issue for unfold and successors
641c4909e4 Add std::iter::successors
22228186c0 `Copy` is best avoided on iterators
544ad37753 Unfold<St, F>: Debug without F: Debug
48aae09e9f Add std::iter::unfold
9ce7b11e7c Remove incorrect doc comment in rustc_mir::monomorphize::item
8a0909df79 Remove incorrect doc comment
6befe6784f treat generator fields like unions
3991bfbbc2 Auto merge of #55663 - varkor:must_use-traits, r=estebank
7f1077700c fix comment
033cbfec4d Incorporate `dyn` into more comments and docs.
6eeedbcd70 generator fields are not necessarily initialized
88d60941da improve error note
4c21f66c1d Add comments and rename a local variable
15e6613281 Auto merge of #55678 - Aaronepower:master, r=Mark-Simulacrum
37fcd5cad5 Grammar nit
3e081c7e82 Trailing newline
7d96f2c481 Document qualify_consts more
86d41350c7 Fix invalid bitcast taking bool out of a union represented as a scalar
f70abe8d07 Add sanity test for promotion and `const_let`
6bcb0d6152 Explain missing error in test
f98235ed9d Document runtime static mutation checks
6674db4887 Reuse the `P` in `InvocationCollector::fold_{,opt_}expr`.
9240ad4571 Update releases to add rename dependencies feature
7a0cef74a8 Auto merge of #56081 - alexcrichton:update-manifest, r=nrc
c7dc868ed7 Fix json output in the self-profiler
046e054a99 Auto merge of #55983 - oli-obk:static_, r=Mark-Simulacrum
31fa30145e Auto merge of #56049 - newpavlov:revert_51601, r=sfackler
3c67ed4500 Add temporary renames to manifests for rustfmt/clippy
612febcc4b explain why we can use raw
c462e44c13 we now do proper validation on scalars
28cc944530 Reduce the amount of bold text at doc.rust-lang.org
ba82f54b04 use RawConst in miri
b50c1b243e Make const_eval_raw query return just an AllocId
b8da719024 Fix error message for `-C panic=xxx`.
089a50411f Encode a custom "producers" section in wasm files
5aff30734b Auto merge of #55971 - SergioBenitez:skip-non-semantic, r=alexcrichton
737dec0ec1 Fix change to predicates
7d5b5ff24d Update nll stderr files
a44e446551 Add `override_export_symbols` option to Rust target specification
0ab70fab19 Fix typo in #[must_use] message
9178eb41d3 Handle trait objects
122886842e Test for #[must_use] on traits
cb5520bc48 Recognise #[must_use] on traits, affecting impl Trait
b55717f9b0 Use general uninhabitedness checking
39852cae2b Auto merge of #56060 - nrc:save-path-fallback, r=zackmdavis
59eff14120 Also catch static mutation at evaluation time
30178b422a Disable some pretty-printers when gdb is rust-enabled
9e8a982a23 Auto merge of #56051 - pietroalbini:rollup, r=pietroalbini
8cea658b90 Rollup merge of #56059 - alexcrichton:fix-tests, r=sfackler
10565c45ac Rollup merge of #56043 - nikomatsakis:issue-55756-via-outlives, r=eddyb
27519c175a Rollup merge of #56027 - Xanewok:docs-backtick, r=QuietMisdreavus
f5dc12ebfc Rollup merge of #56016 - scottmcm:vecdeque-resize-with, r=joshtriplett
2a68c0075a Rollup merge of #56012 - RalfJung:unsafe-cell, r=nikomatsakis
05ae505a4c Rollup merge of #56011 - CBenoit:master, r=QuietMisdreavus
c0d48ce39a Rollup merge of #56007 - RalfJung:non-const-call, r=oli-obk
cc6473d342 Rollup merge of #55970 - RalfJung:miri-backtrace, r=@oli-obk
6ecbb05d76 Rollup merge of #55968 - ehuss:non-mod-rs-tests, r=petrochenkov
318a38e2ea Rollup merge of #55963 - stepancheg:mpsc-take-2, r=alexcrichton
f13d16621e Rollup merge of #55962 - QuietMisdreavus:tricky-spans, r=GuillaumeGomez
989d06a76d Rollup merge of #55953 - blitzerr:master, r=nikomatsakis
32e4eb9cb9 Rollup merge of #55952 - michaelwoerister:newer-clang, r=alexcrichton
fc30ab4da6 Rollup merge of #55949 - ljedrz:return_impl_Iterator_from_Predicate_walk_tys, r=oli-obk
bc543d7e6c Allow assignments in const contexts
8ee9711a6c Replace the ICEing on const fn loops with an error
7c9bcc5266 Update any.rs documentation using keyword dyn
99d1513ed3 save-analysis: fallback to using path id
86073253d5 Increase `Duration` approximate equal threshold to 1us
7e82eda000 Auto merge of #56042 - petrochenkov:nuni, r=petrochenkov
715d83fe01 Rollup merge of #55923 - Zeegomo:master, r=estebank
5e2ff63e29 Rollup merge of #55919 - Turbo87:num-tests, r=dtolnay
c87c31b111 Rollup merge of #55916 - RalfJung:mut-visitor, r=oli-obk
131a7553e1 Rollup merge of #55894 - RalfJung:validation-enums, r=oli-obk
3aeac24048 Rollup merge of #55867 - RalfJung:dont-panic, r=Mark-Simulacrum
9577734ff3 Rollup merge of #55862 - zackmdavis:but_will_they_come_when_you_call_them, r=estebank
7130947918 Rollup merge of #55857 - andjo403:rmdep, r=Mark-Simulacrum
4a52c5625c Rollup merge of #55834 - ogoffart:union-abi, r=eddyb
9c3e8d340f Rollup merge of #55827 - ljedrz:various_stashed, r=alexcrichton
21ff709954 Rollup merge of #55564 - smaeul:test-fixes-2, r=alexcrichton
36e1d9f3ed Rollup merge of #55562 - smaeul:powerpc-linux-musl, r=alexcrichton
a9b791b3c0 Auto merge of #55672 - RalfJung:miri-extern-types, r=eddyb
6357021294 fix test
6ad61b9c3b tests
a5b4cb2991 remove "approx env bounds" if we already know from trait
126b71f690 revert
13c9439925 Auto merge of #56017 - alexcrichton:debug-test, r=alexcrichton
d1c2cbf90a Auto merge of #55999 - alexcrichton:update-cargo, r=nrc
1d7fc0ca50 Simplify MIR drop generation
38025e0dca Fix rebase
6027e0810f Only handle ReVar regions in NLL borrowck
b16985a354 Remove mir::StatementKind::EndRegion
139d109241 Add a couple more tests + address review comments
59464709f7 resolve: Refactor away `DeterminacyExt`
a5f9bd02b1 resolve: Future-proof against imports referring to local variables and generic parameters
4fc3c13e32 resolve: Avoid sentence breaks in diagnostics
f492e9421f resolve: Support resolving macros without leaving traces
0e8a97f8e7 resolve: Avoid marking `extern crate` items as used in certain cases
8e88c3470a resolve: Reintroduce feature gate for uniform paths in imports
a38f903114 Fix ICEs from imports of items not defined in modules
cfd762954b resolve: Tweak some articles in ambiguity diagnostics
cfe81559ee resolve: Recover "did you mean" suggestions in imports
4c5d822a8b resolve: Check resolution consistency for import paths and multi-segment macro paths
07af4ec7a2 resolve: Resolve single-segment imports using in-scope resolution on 2018 edition
1cfd08c0c4 resolve: More precise determinacy tracking during import/macro resolution
f0ea1c6f1e resolve: Improve diagnostics for resolution ambiguities
9d7d9ada6d resolve: Simplify ambiguity checking for built-in attributes
e6739fe274 resolve: Resolve multi-segment imports using in-scope resolution on 2018 edition
67feeebfad resolve: Stop generating uniform path canaries
cc63bd47ef atomic::Ordering: Get rid of misleading parts of intro
cdb1a799f8 Add VecDeque::resize_with
7a99b6db15 std: Add debugging for a failing test on appveyor
eb18ddd8f4 Don't auto-inline `const fn`
5fc63ce480 docs: Add missing backtick in object_safety.rs docs
ef99b57b13 Refactor local monomorphization logic to be easier to comprehend
bcf82efe08 deallocate locals before validation, to catch dangling references
f37247f885 Auto merge of #56003 - nikomatsakis:issue-54467-infer-outlives-bounds-and-trait-objects, r=eddyb
3d33d05c81 We're looking at the miri memory for constants instead of their initializers' MIR
1d808d106b When popping in CTFE, perform validation before jumping to next statement to have a better span for the error
8e13e433c6 tidy check fix
2b7c3fb725 add test for #[test] attribute only allowed on non associated functions
d93e5b04f4 reserve whitespaces between prefix and pipe
25d46f3091 add comment explaining why what we do is legal
01127ca666 Update Cargo submodule
5bfdcc1ab1 remove stray file with UI testing output
a7b312f825 erase the tag on casts involving (raw) pointers
78eb516dda Ignore non-semantic tokens for 'probably_eq' streams.
f6e9485bfc Auto merge of #55627 - sunfishcode:cg-llvm-gen, r=nikomatsakis
41434e001b avoid shared ref in UnsafeCell::get
ee821736cc Auto merge of #55936 - nrc:save-rename, r=eddyb
0c0478d57a adjust remaining tests
c1221e2072 Replace data.clone() by Arc::clone(&data) in mutex doc.
2be930bd03 fix tidy (remove whitespace)
fe23ffbda0 improve error when self is used as not the first argument
646d68f585 add a note to the error message
4c4aff9b3d remove license
303dbccf04 CTFE: dynamically make sure we do not call non-const-fn
6575988d8e handle trait objects formed from traits with `Self::Foo: 'a` clauses
0d744ec6ec improve debug output related to bound calculation
675319e558 lint if a private item has doctests
756f84d7ce [eddyb] rustc_codegen_llvm: remove unused parametrization of `CodegenCx` and `Builder` over `Value`s.
0b569249c8 [eddyb] rustc_codegen_ssa: rename `interfaces` to `traits`.
d1410ada92 [eddyb] rustc_codegen_ssa: avoid a `Clone` bound on `TargetMachine`.
47c84c4234 [eddyb] rustc_codegen_llvm: remove unnecessary `'a` from `LlvmCodegenBackend` impls.
9f49a2626e [eddyb] rustc_codegen_utils: remove extraneous `#![allow(dead_code)]`.
9bb6663431 [eddyb] rustc_codegen_ssa: handle LLVM unsafety correctly.
bf7f8cd3fc Added README explaining the refactoring
b9e5cf99a9 Separating the back folder between backend-agnostic and LLVM-specific code
b25b804013 Added default impl for DerivedTypeMethods + empty impl for Cranelift BaseTypeMethods
54dd3a47fd All Builder methods now take &mut self instead of &self
1ebdfbb026 Added some docs + start to &mut self builder methods
015e4441f5 Finished moving backend-agnostic code to rustc_codegen_ssa
c0a428ee70 Great separation of librustc_codegen_llvm: librustc_codegen_ssa compiles
915382f730 Moved DeclareMethods, MiscMethods and StaticMethods
c9f26c2155 Beginning of moving all backend-agnostic code to rustc_codegen_ssa
218e35efa1 eat CloseDelim
80c2101b20 change expected error message
b02e5cce16 Moved Backend interface into rustc_codegen_utils
b06836e71a [eddyb/rebase cleanup] move type_{needs_drop,is_sized,is_freeze} to rustc_codegen_utils
35b40f51fb [eddyb/rebase cleanup] abstracted Funclet
566fa4d003 Moved common.rs enums
39fd4d9274 Starting to move backend-agnostic code into codegen_utils IntPredicate moved
4ba09ab8d2 Added compile codegen to backend trait
6819e6e6e1 Preparing the generalization of base:compile_coodegen_unit
91a2a80692 Renamed lifetimes for better understanding
8d530db2c5 Generalized base:codegen_crate
97825a36be Move doc to trait declarations
ac34068ed9 Generalized base:maybe_create_entry_wrapper
b14f3e5490 Adapt code to latest rustc master changes
441a7c1092 Generalized mono_item.rs and base.rs:codegen_instance
6a993fe353 Generalized mir::codegen_mir (and all subsequent functions)
cbe31a4229 Generalized base::coerce_unsized_into
78dd95f4c7 Generalized base::unsize_thin_ptr
034f69753b Generalized base::unsized_info
484e07c231 [eddyb/rebase cleanup] s/&self./self.
0a1c50955b Traitified IntrinsicCallMethods
a5aeb8edd6 Transfered memcpy and memset to BuilderMethods
3c082a23e8 Added StaticMethods trait
d77e34f35b Generalized memset and memcpy
0514c7b1b2 Generalized some base.rs methods
c487b825b0 Attempt at including CodegenCx within Builder with Associated types
1929ac2007 Fixed typos
4787b7cac9 Removed phantomdata no longer necessary Because CodegenContext doesn't implement Backend anymore
a1d0d4f943 Removing LLVM content from CommonMethods -> ConstMethods
e224f063e8 Prefixed type methods & removed trait impl for write::CodegenContext
6d42574b7a Prefixed const methods with "const" instead of "c"
730b13ab51 Traitification of type_ methods The methods are now attached to CodegenCx instead of Type
5f28e0a0b6 Added definition of type trait
3e77f2fc4f Use the method form for CodegenCx everywhere
6c5b990c5f All CommonMethods now real methods (not static)
33eee83737 Removed code duplication for CommonWriteMethods
4cc18d3de5 CommonWriteMethods are not static any more
3aee77277e Split CommonMethods to accomodate for use in back/write.rs
83e07f9fe9 Added self argument for Codegen CommonMethod trait methods
d325844804 Replaced Codegen field access by trait method
8714e6bce6 Traitification of common.rs methods
3889c2dcfb New Backend trait containing associated types
d577ec7e5f New files and folders for traits Moved common enums to common
7a2670e307 Use real type names rather than Self::
a16d85bbae Removed parasite yaml file and put explicit lifetimes
89825f2ef5 Use associated types instead of type parameters inside the BuilderMethods trait
9c41e1aa10 Removed genericity over Value in various functions Prelude to using associated types in traits rather than type parameters
1ca750683e Generalized AsmDialect for BuilderMethods
b761538997 Generalized SynchronisationScope for BuilderMethods
b699866290 Generalized AtomicOrdering for BuilderMethods
275589150b Generalized AtomicRmwBinOp for BuilderMethods
1bcb4df166 Generalized OperandBundleDef in BuilderMethods
bc86624c43 Removed useless traits for IntPredicate and RealPredicate
8590336d49 Generalized RealPredicate
51b7f2739b Generalized IntPredicate in the BuilderMethods trait
14798d6937 Generalized BasicBlocks in BuilderMethods trait
34c5dc045f Generalized base.rs#call_memcpy and everything that it uses
83b2152ce4 Reduced line length to pass tidy
c76fc3d804 Work around to fix issue https://github.com/rust-lang/rust/issues/53912
5a9e6b8776 rustc_codegen_llvm: begin generalizing over backend values.
7cb068e523 add ui test
65e6fdb92e Ensure that the `static_assert!` argument is a `bool`
9b8791179f Update stderr file
03aaa4b659 remove unused dependency
f2106d0746 use ? operator instead of match
86ef38b3b7 Rename checked_add_duration to checked_add and make it take the duration by value
6d40b7232e Implement checked_add_duration for SystemTime
6b9b97bd9b Auto merge of #55948 - matthiaskrgr:clippy, r=oli-obk
f354c85102 submodules: update clippy from d8b42690 to f5d868c9
c8a9300d8e Fix stability hole with `static _`
dbd9abd74d update closure arg suggesstion ui test
052bdff8fb lint based on closure pipe span
8c8ff6a4e1 test/linkage-visibility: Ignore on musl targets
4f9c860385 Add powerpc64-unknown-linux-musl target
2bb5029d74 Use the ELFv2 ABI on powerpc64 musl
346e97600b Fix powerpc64 ELFv2 big-endian struct-passing ABI
81303d7d90 Add powerpc-unknown-linux-musl target
b8915f2ba8 fix other affected tests
a3770c2547 do not accept out-of-bounds pointers in enum discriminants, they might be NULL
ffb6ba0828 validation: better error when the enum discriminant is Undef
e6e5635730 ty: return impl Iterator from Predicate::walk_tys
62cf9abcf6 rename FrameInfo span field to call_site
e4d03f82b5 miri value visitor: provide place when visiting a primitive
c5bc83b60d expose MutValueVisitor
6779bb485c capture_disjoint_fields(rust-lang#53488) Refactoring out the HirId of the UpvarId in another struct.
7f4bc2247a Clean up some non-mod-rs stuff.
a1f83e75af Stress test for MPSC
aa3d7a4e6e properly calculate spans for intra-doc link resolution errors
a9a48ed3da Fix VecDeque pretty-printer
b396505425 put file and line into miri backtrace
c040a483bc Remove extern and some return value as an attempt to make the test pass on more platforms
1ca505a30a capture_disjoint_fields(rust-lang#53488)
fb5135a6fc prettier miri backtrace printing
f6b8eb7987 Update CI-clang to 7.0.0 for macOS dists.
2ec6f340cd Update CI-clang to 7.0.0 for Linux dists.
57a7c85f93 miri: backtraces with instances
cfbae3e194 core/tests/num: Simplify `test_int_from_str_overflow()` test code
547ac5ef0a save-analysis: be even more aggressive about ignorning macro-generated defs
008e5dcbd5 appveyor: Use VS2017 for all our images
8b750a77fc The example values are now easyer to differenciate
562be7e1a1 Forward the ABI of the non-zero sized fields of an union if they have the same ABI
0c08529934 A few tweaks to iterations/collecting
0671bdb1eb reword #[test] attribute error on fn items
b7c319c56a do not panic just because cargo failed
f3e9b1a703 in which the E0618 "expected function" diagnostic gets a makeover
999c2e2433 Fix #[cfg] for step impl on ranges
efad877c44 Updated RELEASES.md for 1.31.0
b937be87cb Clarifying documentation for collections::hash_map::Entry::or_insert
51e1f5560d add unstable attribute
d0bac148f7 Fix incorrect documentation
11ee29a813 Use method rather than public field
f1a593d116 Document kind field
3dc56b7d9c Fix mistake in my markdown
c3f0c9419e Add very useful documentation
ba0bab39e0 make sure we only guess field alignment at offset 0
b60efc1574 Continue to try to make travis happy by adding a issue number
420e6413c6 break line to keep `travis_fold:start:tidy` happy
3b0fc3c309 Add useful attributes
2d1cd9ae80 Make `ParseIntError` and `IntErrorKind` fully public
a6622c265c note some FIXMEs
5ebd077f54 make it more obvious that the size is not relevant
bb17f71749 also test with PhantomData
aca76d42a0 test for offset and alignment of the sized part, instead of field count
e753d21051 miri: accept extern types in structs if they are the only field
bc1885703c Return &T / &mut T in ManuallyDrop Deref(Mut) impl
32d07cc2fc bootstrap: be more explicit on what we collect into. NFC
8a0666d5cc rename to thumbv8m.base-none-eabi, fix strict alignment
0e131052f6 fix tidy
965a97093e targets: thumbv8m: Add target for baseline ARMv8-M
99bed21101 Linkify types in docs
b911dba40b Slice total example: Move closer to total defn
e36bbc82f2 Example of total ord of elements for sort_by
7e57f0a6a8 Doc total order requirement of sort(_unstable)_by

git-subtree-dir: rust
git-subtree-split: fc84f5f837a3e1b9b9bc992dd603d3d968502288
@jonas-schievink jonas-schievink added C-bug Category: This is a bug. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 17, 2019
Centril added a commit to Centril/rust that referenced this issue May 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-bug Category: This is a bug. I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants