- 26 11月, 2019 6 次提交
-
-
由 bors 提交于
Add version mismatch help message for unimplemented trait Improves issue #22750 The error reporting for E0277 (the trait `X` is not implemented for `Foo`) now checks whether `Foo` implements a trait with the same path as `X`, which probably means that the programmer wanted to actually use only one version of the trait `X` instead of the two. Still open: * the same diagnostic should be added for [the trait method case](https://github.com/rust-lang/rust/issues/22750#issuecomment-372077056) * Showing the real crate versions would be nice, but rustc currently doesn't have that information [according to Esteban](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/diagnostics.20for.20crate.20version.20mismatch/near/180572989)
-
由 bors 提交于
Add support for sanitizer recover and tracking origins of uninitialized memory * Add support for sanitizer recovery `-Zsanitizer-recover=...` (equivalent to `-fsanitize-recover` in clang). * Add support for tracking origins of uninitialized memory in MemorySanitizer `-Zsanitizer-memory-track-origins` (equivalent to `-fsanitize-memory-track-origins` in clang).
-
由 bors 提交于
Fix opaque types resulting from projections in function signature When we normalize the types in a function signature, we may end up resolving a projection to an opaque type (e.g. `Self::MyType` when we have `type MyType = impl SomeTrait`). When the projection is resolved, we will instantiate the generic parameters into fresh inference variables. While we do want to normalize projections to opaque types, we don't want to replace the explicit generic parameters (e.g. `T` in `impl MyTrait<T>`) with inference variables. We want the opaque type in the function signature to be eligible to be a defining use of that opaque type - adding inference variables prevents this, since the opaque type substs now appears to refer to some specific type, rather than a generic type. To resolve this issue, we inspect the opaque types in the function signature after normalization. Any inference variables in the substs are replaced with the corresponding generic parameter in the identity substs (e.g. `T` in `impl MyTrait<T>`). Note that normalization is the only way that we can end up with inference variables in opaque substs in a function signature - users have no way of getting inference variables into a function signature. Note that all of this refers to the opaque type (ty::Opaque) and its subst - *not* to the underlying type. Fixes #59342
-
由 bors 提交于
Rollup of 7 pull requests Successful merges: - #65613 (Preserve whitespace inside one-backtick codeblocks) - #66512 (Add unix::process::CommandExt::arg0) - #66569 (GitHub Actions: preparations, part 1) - #66678 (Remove useless line for error index generation) - #66684 (Drive-by cleanup in region naming) - #66694 (Add some comments to panic runtime) - #66698 (tidy: Remove unused import) Failed merges: r? @ghost
-
由 bors 提交于
Update cargo, rls, books. ## nomicon 1 commits in 58e36e0e08dec5a379ac568827c058e25990d6cd..041c46e692a2592853aeca132c8dfe8eb5a79a9e 2019-10-30 08:14:24 -0500 to 2019-11-20 16:46:45 +0100 - Update unsafe-code-guidelines link (rust-lang-nursery/nomicon#175) ## cargo 15 commits in 8280633db680dec5bfe1de25156d1a1d53e6d190..750cb1482e4d0e74822cded7ab8b3c677ed8b041 2019-11-11 23:17:05 +0000 to 2019-11-23 23:06:36 +0000 - Some random comments and docstrings. (rust-lang/cargo#7625) - Add value OUT_DIR to build-script-executed JSON message (rust-lang/cargo#7622) - Update documentation for custom target dependencies. (rust-lang/cargo#7623) - Document private items for binary crates by default (rust-lang/cargo#7593) - Extend documentation on security concerns of crate names in a registry. (rust-lang/cargo#7616) - Stabilize install-upgrade. (rust-lang/cargo#7560) - Turn the new lock file format on by default (rust-lang/cargo#7579) - bump im-rc version (rust-lang/cargo#7609) - Ignore file lock errors if unsupported, on Windows (rust-lang/cargo#7602) - Add hack for fwdansi change. (rust-lang/cargo#7607) - Document Cargo's JSON output. (rust-lang/cargo#7595) - Remove "cargo login" from user input when asking for login token. (rust-lang/cargo#7588) - Fix all Clippy suggestions (but not add it to CI
🙃 ) (rust-lang/cargo#7574) - Add kind/platform info to `cargo metadata` (rust-lang/cargo#7132) - Update core-foundation requirement from 0.6.0 to 0.7.0 (rust-lang/cargo#7585) ## reference 2 commits in 45558c464fb458affbcdcb34323946da45c8a117..9e843aeb4df083522c7277179bbaa25d0507731c 2019-11-08 14:47:35 +0100 to 2019-11-24 17:44:04 +0100 - Minor never type additions. (rust-lang-nursery/reference#723) - Update associated-items.md. "it"->is (rust-lang-nursery/reference#721) ## book 3 commits in e79dd62aa63396714278d484d91d48826737f47f..81ebaa2a3f88d4d106516c489682e64cacba4f60 2019-10-30 07:33:12 -0500 to 2019-11-15 08:30:04 -0800 - small fix ch04-03 & code block typo ch07-02 (rust-lang/book#2138) - Adapt content of Chapter 16.3 in order to be consistent with improved compiler message (rust-lang/book#1779) - [Rust 1.35] Remove FnBox and use builtin impl FnOnce for Box<FnOnce()> instead. (rust-lang/book#1906) ## rls 3 commits in 5db91c7b94ca81eead6b25bcf6196b869a44ece0..9ec2b8cb57c87517bcb506ac302eae339ffa2025 2019-10-30 16:04:39 +0100 to 2019-11-24 23:16:11 +0100 - Fix test for latest nightly. (rust-lang-nursery/rls#1595) - doc: contributing: Remove outdated LSP extension (rust-lang-nursery/rls#1594) - Update cargo. (rust-lang-nursery/rls#1591) ## rust-by-example 1 commits in dcee312c66267eb5a2f6f1561354003950e29105..4835e025826729827a94fdeb7cb85fed288d08bb 2019-10-31 11:26:53 -0300 to 2019-11-14 09:20:43 -0300 - crates: fix suggested value for --crate-type flag (rust-lang/rust-by-example#1292) ## edition-guide 1 commits in f553fb26c60c4623ea88a1cfe731eafe0643ce34..6601cab4666596494a569f94aa63b7b3230e9769 2019-10-30 08:27:42 -0500 to 2019-11-22 12:08:58 -0500 - Remove final nursery reference -
由 Eric Huss 提交于
-
- 25 11月, 2019 23 次提交
-
-
由 Pietro Albini 提交于
tidy: Remove unused import It produces annoying warnings on `x.py` runs.
-
由 Pietro Albini 提交于
Add some comments to panic runtime
-
由 Pietro Albini 提交于
Drive-by cleanup in region naming
-
由 Pietro Albini 提交于
Remove useless line for error index generation As you can see here: https://github.com/rust-lang/rust/blob/master/src/librustc_error_codes/error_codes.rs#L10, this replacement is now completely useless. r? @Dylan-DPC
-
由 Pietro Albini 提交于
GitHub Actions: preparations, part 1 This PR adds the first batch of commits in preparation for GitHub Actions: * Added GitHub Actions support in `src/ci/shared.sh` and bootstrap. * Addded a `setup-environment.sh` script which guesses and sets the `DEPLOY`, `DEPLOY_ALT` and `IMAGE` environment variables automatically, to reduce the verbosity of the CI configuration. This PR does **not** yet add any builders on GitHub Actions. r? @alexcrichton
-
由 Pietro Albini 提交于
Add unix::process::CommandExt::arg0 This allows argv[0] to be overridden on the executable's command-line. This also makes the program executed independent of argv[0]. Does Fuchsia have the same semantics? I'm assuming so. Addresses: #66510
-
由 Pietro Albini 提交于
Preserve whitespace inside one-backtick codeblocks Previously this was only done inside short docblocks (e.g., summary lines), but we should also do so in general. Fixes #65555
-
由 bors 提交于
Highlight parts of fn in type errors When a type error arises between two fn items, fn pointers or tuples, highlight only the differing parts of each. Examples: <img width="699" alt="" src="https://user-images.githubusercontent.com/1606434/69487597-ab561600-0e11-11ea-9b4e-d4fd9e91d5dc.png"> <img width="528" alt="" src="https://user-images.githubusercontent.com/1606434/69487207-9033d800-0e0a-11ea-93e3-8c4d002411a5.png"> <img width="468" alt="" src="https://user-images.githubusercontent.com/1606434/69487208-9033d800-0e0a-11ea-92e3-2b2cee120335.png"> <img width="775" alt="" src="https://user-images.githubusercontent.com/1606434/69487209-9033d800-0e0a-11ea-9e68-7f6ed5c8cb08.png">
-
由 bors 提交于
Use proc-macro to derive HashStable everywhere Hello, A second proc-macro is added to derive HashStable for crates librustc depends on. This proc-macro `HashStable_Generic` (to bikeshed) allows to decouple code and strip much of librustc's boilerplate. Still, two implementations `Span` and `TokenKind` require to be placed in librustc. The latter only depends on the `bug` macro. Advise welcome on how to sever that link. A trait `StableHasingContextLike` has been introduced at each crate root, in order to handle those implementations which require librustc's very `StableHashingContext`. This overall effort allowed to remove the `impl_stable_hash_for` macro. Each commit passes the `x.py check`. I still have to double check there was no change in the implementation.
-
由 bors 提交于
Fix some issues with attributes on unnamed fields Fixes https://github.com/rust-lang/rust/issues/66487 Fixes https://github.com/rust-lang/rust/issues/66555
-
由 bors 提交于
Ast address-of This is the parts of #64588 that don't affect MIR. If an address-of expression makes it to MIR lowering we error and lower to the best currently expressible approximation to limit further errors. r? @Centril
-
由 bors 提交于
Use a `SmallVec` for `Candidate::match_pairs`. This is a small win for `encoding`. r? @matthewjasper
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
Co-Authored-By: Nvarkor <github@varkor.com>
-
由 Aaron Hill 提交于
Add some tests to verify that this case is never hit
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
-
由 Aaron Hill 提交于
When we normalize the types in a function signature, we may end up resolving a projection to an opaque type (e.g. `Self::MyType` when we have `type MyType = impl SomeTrait`). When the projection is resolved, we will instantiate the generic parameters into fresh inference variables. While we do want to normalize projections to opaque types, we don't want to replace the explicit generic parameters (e.g. `T` in `impl MyTrait<T>`) with inference variables. We want the opaque type in the function signature to be eligible to be a defining use of that opaque type - adding inference variables prevents this, since the opaque type substs now appears to refer to some specific type, rather than a generic type. To resolve this issue, we inspect the opaque types in the function signature after normalization. Any inference variables in the substs are replaced with the corresponding generic parameter in the identity substs (e.g. `T` in `impl MyTrait<T>`). Note that normalization is the only way that we can end up with inference variables in opaque substs in a function signature - users have no way of getting inference variables into a function signature. Note that all of this refers to the opaque type (ty::Opaque) and its subst - *not* to the underlying type. Fixes #59342
-
由 bors 提交于
rustc_plugin: Remove support for syntactic plugins This part of the plugin interface was successfully replaced by token-based procedural macros in theory and in practice. cc https://github.com/rust-lang/rust/issues/29597 cc https://github.com/rust-lang/rust/pull/64675 r? @Centril
-
由 Matthew Jasper 提交于
-
由 Matthew Jasper 提交于
-
由 Matthew Jasper 提交于
-
- 24 11月, 2019 11 次提交
-
-
由 Timo Freiberg 提交于
-
由 Timo Freiberg 提交于
-
由 Timo Freiberg 提交于
Issue #22750 The error reporting for E0277 (the trait `X` is not implemented for `Foo`) now checks whether `Foo` implements a trait with the same path as `X`, which probably means that the programmer wanted to actually use only one version of the trait `X` instead of the two.
-
由 bors 提交于
Rework raw ident suggestions Use heuristics to determine whethersuggesting raw identifiers is appropriate. Account for raw identifiers when printing a path in a `use` suggestion. Fix #66126.
-
由 Vadim Petrochenkov 提交于
-
由 Ralf Jung 提交于
-
由 Ralf Jung 提交于
-
由 bors 提交于
introduce benchmarks of HashSet operations To avoid goofs such as corrected by #66280, I added benchmarks of binary HashSet operations. Due to the fact x.py keeps recompiling the whole shebang (or at least a big part of it) whenever you touch the test code, and because piling up all tests in one file does not strike me as future proof, I tried moving the hash benches to the separate place they are for liballoc/collections/btree. But it turns out that, in a cleaned checkout, x.py still recompiles the whole shebang whenever you touch the test code (PS or when you add or delete any irrelevant file). So I'm not going to add more tests, and I doubt others will, and these tests have proven their point already, so this PR is kind of pointless
-
由 Ralf Jung 提交于
-
由 Vadim Petrochenkov 提交于
-
由 Vadim Petrochenkov 提交于
-