about summary refs log tree commit diff
path: root/src/test/ui/extern
AgeCommit message (Collapse)AuthorLines
2020-04-08Small tweaks to required bound spanEsteban Küber-7/+7
2020-03-22Normalize wording of privacy access labelsEsteban Küber-2/+2
2020-03-22Increase verbosity when suggesting subtle code changesEsteban Küber-3/+5
2020-02-15reject assoc statics & extern consts during parsingMazdak Farrokhzad-2/+0
2020-02-15parse extern constsMazdak Farrokhzad-2/+8
2020-02-05parser: merge `fn` grammars wrt. bodies & headersMazdak Farrokhzad-6/+6
also refactor `FnKind` and `visit_assoc_item` visitors
2020-02-02Suggest `?Sized` on type parametersEsteban Küber-1/+3
2020-01-16resolve: Say "import" when reporting private importsVadim Petrochenkov-8/+8
2020-01-16resolve: Point at the private item definitions in privacy errorsVadim Petrochenkov-2/+14
2020-01-08review commentsEsteban Küber-0/+5
2020-01-05Add backticks to various diagnosticsvarkor-2/+2
2020-01-04Test cleanups to match #[track_caller] in panic!.Adam Perry-4/+2
* Removes unnecessary feature flag from track_caller test. * Tests of panic internals no longer need to explicitly construct Location. * Add #![warn(const_err)] to retain-never-const per @oli-obk. * Add track_caller test with diverging function.
2019-11-18Specific labels when referring to "expected" and "found" typesEsteban Küber-4/+4
2019-11-15Add test for issue-36122Yuki Okushi-0/+18
2019-11-10Make error and warning annotations mandatory in UI testsTomasz Miąsko-18/+1
This change makes error and warning annotations mandatory in UI tests. The only exception are tests that use error patterns to match compiler output and don't have any annotations.
2019-10-27Panicking infra uses &core::panic::Location.Adam Perry-2/+3
This allows us to remove `static_panic_msg` from the SSA<->LLVM boundary, along with its fat pointer representation for &str. Also changes the signature of PanicInfo::internal_contructor to avoid copying. Closes #65856.
2019-10-16Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-3/+5
- Compatible with Emscripten 1.38.46-upstream or later upstream. - Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the old incorrect wasm32 C call ABI with the correct one, preserving the old one as wasm32_bindgen_compat for wasm-bindgen compatibility. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
2019-10-12Auto merge of #65020 - ↵bors-0/+148
pnkfelix:targetted-fix-for-always-marking-rust-abi-unwind-issue-64655, r=alexcrichton Always mark rust and rust-call abi's as unwind PR #63909 identified a bug that had been injected by PR #55982. As discussed on https://github.com/rust-lang/rust/issues/64655#issuecomment-537517428 , we started marking extern items as nounwind, *even* extern items that said they were using "Rust" or "rust-call" ABI. This is a more targeted variant of PR #63909 that fixes the above bug. Fix #64655 ---- I personally suspect we will want PR #63909 to land in the long-term But: * it is not certain that PR #63909 *will* land, * more importantly, PR #63909 almost certainly will not be backported to beta/stable. The identified bug was more severe than I think anyone realized (apart from perhaps @gnzlbg, as noted [here](https://github.com/rust-lang/rust/pull/63909#issuecomment-524818838)). Thus, I was motivated to write this PR, which fixes *just* the issue with extern rust/rust-call functions, and deliberately avoids injecting further deviation from current behavior (you can see further notes on this in the comments of the code added here).
2019-10-11emcscripten: ignore another thread-using testRalf Jung-0/+1
2019-10-11ignore-emcscripten as it does not support threadsRalf Jung-0/+1
2019-10-05Revert "Auto merge of #63649 - tlively:emscripten-upstream-upgrade, ↵Tyler Mandry-5/+3
r=alexcrichton" This reverts commit 7870050796e5904a0fc85ecbe6fa6dde1cfe0c91, reversing changes made to 2e7244807a7878f6eca3eb7d97ae9b413aa49014.
2019-10-04dont run these tests on targets that default to panic=abort.Felix S. Klock II-0/+2
2019-10-04Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-3/+5
- Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the incorrect wasm32 C call ABI with the old asmjs version, which is correct for both wasm32 and JS. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Temporarily makes Emscripten targets use panic=abort by default because supporting unwinding will require an LLVM patch.
2019-10-03Update issue-64655-extern-rust-must-allow-unwind.rsFelix S Klock II-1/+0
placate tidy
2019-10-03Apply suggestions from code reviewFelix S Klock II-4/+4
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com> Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-10-02fix typoFelix S Klock II-1/+1
2019-10-02Regression tests for issue 64655.Felix S. Klock II-0/+145
2019-09-22Point at type param when it's cause of unfulfilled obligationEsteban Küber-6/+6
2019-09-22On obligation errors point at the unfulfilled binding when possibleEsteban Küber-7/+7
2019-09-19When possible point at argument causing item obligation failureEsteban Küber-2/+2
2019-08-31Use span label instead of note for cause in E0631Esteban Küber-35/+21
2019-08-15Group all ui tests and move to abi #62593Kevin Per-531/+0
2019-08-10diagnostics: Describe crate root modules in `DefKind::Mod` as "crate"Vadim Petrochenkov-4/+4
2019-07-27tests: Move run-pass tests without naming conflicts to uiVadim Petrochenkov-0/+999
2019-07-23Update testJonas Schievink-8/+5
2019-07-13review commentEsteban Küber-1/+1
2019-07-13Detect `fn` with a body in an `extern` blockEsteban Küber-0/+29
2019-05-30Remove unecessary `-Z continue-parse-after-error` from testsEsteban Küber-2/+2
2019-03-11Update testsVadim Petrochenkov-8/+8
2019-01-01Fix broken links to second edition TRPL.Corey Farwell-4/+4
Fixes https://github.com/rust-lang/rust/issues/57104.
2018-12-25Remove licensesMark Rousskov-131/+21
2018-12-15Rollup merge of #56679 - euclio:external-doc-parse, r=estebankPietro Albini-6/+63
overhaul external doc attribute diagnostics This PR improves the error handling and spans for the external doc attribute. Many cases that silently failed before now emit errors, spans are tightened, and the errors have help and suggestions. I tried to address all the cases that users ran into in the tracking issue. cc #44732 r? @QuietMisdreavus
2018-12-11std: Depend directly on crates.io cratesAlex Crichton-2/+2
Ever since we added a Cargo-based build system for the compiler the standard library has always been a little special, it's never been able to depend on crates.io crates for runtime dependencies. This has been a result of various limitations, namely that Cargo doesn't understand that crates from crates.io depend on libcore, so Cargo tries to build crates before libcore is finished. I had an idea this afternoon, however, which lifts the strategy from #52919 to directly depend on crates.io crates from the standard library. After all is said and done this removes a whopping three submodules that we need to manage! The basic idea here is that for any crate `std` depends on it adds an *optional* dependency on an empty crate on crates.io, in this case named `rustc-std-workspace-core`. This crate is overridden via `[patch]` in this repository to point to a local crate we write, and *that* has a `path` dependency on libcore. Note that all `no_std` crates also depend on `compiler_builtins`, but if we're not using submodules we can publish `compiler_builtins` to crates.io and all crates can depend on it anyway! The basic strategy then looks like: * The standard library (or some transitive dep) decides to depend on a crate `foo`. * The standard library adds ```toml [dependencies] foo = { version = "0.1", features = ['rustc-dep-of-std'] } ``` * The crate `foo` has an optional dependency on `rustc-std-workspace-core` * The crate `foo` has an optional dependency on `compiler_builtins` * The crate `foo` has a feature `rustc-dep-of-std` which activates these crates and any other necessary infrastructure in the crate. A sample commit for `dlmalloc` [turns out to be quite simple][commit]. After that all `no_std` crates should largely build "as is" and still be publishable on crates.io! Notably they should be able to continue to use stable Rust if necessary, since the `rename-dependency` feature of Cargo is soon stabilizing. As a proof of concept, this commit removes the `dlmalloc`, `libcompiler_builtins`, and `libc` submodules from this repository. Long thorns in our side these are now gone for good and we can directly depend on crates.io! It's hoped that in the long term we can bring in other crates as necessary, but for now this is largely intended to simply make it easier to manage these crates and remove submodules. This should be a transparent non-breaking change for all users, but one possible stickler is that this almost for sure breaks out-of-tree `std`-building tools like `xargo` and `cargo-xbuild`. I think it should be relatively easy to get them working, however, as all that's needed is an entry in the `[patch]` section used to build the standard library. Hopefully we can work with these tools to solve this problem! [commit]: https://github.com/alexcrichton/dlmalloc-rs/commit/28ee12db813a3b650a7c25d1c36d2c17dcb88ae3
2018-12-10improve diagnostics for invalid external docsAndy Russell-10/+23
2018-12-10reject invalid external doc attributesAndy Russell-1/+45
Also, provide a suggestion for the correct syntax.
2018-11-18resolve: Avoid sentence breaks in diagnosticsVadim Petrochenkov-3/+3
2018-11-18resolve: Check resolution consistency for import paths and multi-segment ↵Vadim Petrochenkov-4/+5
macro paths
2018-11-07This test will not link on wasm32.Felix S. Klock II-6/+6
2018-11-06Sidestep link error from rustfix'ed code by using a *defined* static.Felix S. Klock II-13/+38
As a drive-by, added `-g` to the compile-flags so that the test more reliably fails to compile when the extern static in question is *not* provided. (I.e. this is making the test more robust in the face of potential future revisions.) Fix #54388.
2018-10-28resolve: More precise spans for privacy errorsVadim Petrochenkov-4/+4