Commit graph

22482 commits

Author SHA1 Message Date
Vadim Petrochenkov
d77edb6458 resolve: Fix false-positives from lint absolute_paths_not_starting_with_crate 2018-11-28 22:57:25 +03:00
bors
400c2bc5ed Auto merge of #56264 - petrochenkov:typonly, r=nikomatsakis
resolve: Extern prelude is for type namespace only

Fixes https://github.com/rust-lang/rust/issues/56263 (stable-to-beta regression)
2018-11-27 19:04:44 +00:00
bors
aeff91d977 Auto merge of #56251 - scalexm:root-universe, r=nikomatsakis
Put all existential ty vars in the `ROOT` universe

r? @nikomatsakis
2018-11-27 15:54:21 +00:00
bors
10e2c729ea Auto merge of #55402 - estebank:macro-eof-2, r=nikomatsakis
Point at end of macro arm when encountering EOF

Fix #52866.
2018-11-27 12:31:45 +00:00
Vadim Petrochenkov
cd2e98dbd3 resolve: Extern prelude is for type namespace only 2018-11-27 14:35:36 +03:00
Vadim Petrochenkov
6f13708299 resolve: Suggest crate:: for resolving ambiguities when appropriate
More precise spans for ambiguities from macros
2018-11-27 00:34:25 +03:00
Vadim Petrochenkov
d1862b4196 resolve: Fallback to extern prelude in 2015 imports used from global 2018 edition 2018-11-27 00:34:24 +03:00
Vadim Petrochenkov
c06e69ee70 resolve: Fallback to uniform paths in 2015 imports used from global 2018 edition 2018-11-27 00:32:34 +03:00
Vadim Petrochenkov
dae4c7b1ff resolve: Implement edition hygiene for imports and absolute paths
Use per-span hygiene in a few other places in resolve
Prefer `rust_2015`/`rust_2018` helpers to comparing editions
2018-11-27 00:32:30 +03:00
Vadim Petrochenkov
fba116fc5f Remove duplicate tests for uniform paths 2018-11-27 00:30:50 +03:00
scalexm
efb2949b93 Put all existential ty vars in the ROOT universe 2018-11-26 20:37:43 +01:00
bors
b51632e3f0 Auto merge of #56070 - oli-obk:const_let, r=eddyb
Allow assignments in const contexts

fixes https://github.com/rust-lang/rust/issues/54098
fixes https://github.com/rust-lang/rust/issues/51251
fixes https://github.com/rust-lang/rust/issues/52613
2018-11-26 08:17:36 +00:00
Eduard-Mihai Burtescu
e281446261 Try to make top-level Cargo.toml work without __CARGO_TEST_ROOT. 2018-11-25 23:13:58 +02:00
Pietro Albini
cd17b1d4b6
Rollup merge of #56211 - petrochenkov:fwd, r=petrochenkov
[master] Forward-ports from beta

https://github.com/rust-lang/rust/pull/56206 + one commit from https://github.com/rust-lang/rust/pull/55884 that was accidentally missing in https://github.com/rust-lang/rust/pull/56042 due to an off-by-one mistake in commit ranges

r? @ghost
2018-11-25 17:05:12 +01:00
Pietro Albini
d21d510dde
Rollup merge of #56207 - SimonSapin:int_to_from_bytes, r=nagisa
Stabilize the int_to_from_bytes feature

Fixes #52963

FCP to merge completed: https://github.com/rust-lang/rust/issues/52963#issuecomment-416548327
2018-11-25 17:05:10 +01:00
Pietro Albini
dcae83b6a3
Rollup merge of #56204 - estebank:suggest-variant, r=zackmdavis
Suggest correct enum variant on typo

Fix #37992.
2018-11-25 17:05:09 +01:00
Pietro Albini
989678e525
Rollup merge of #56151 - alexcrichton:move-out-flaky-test, r=nagisa
Move a flaky process test out of libstd

This test ensures that everything in `env::vars()` is inherited but
that's not actually true because other tests may add env vars after we
spawn the process, causing the test to be flaky! This commit moves the
test to a run-pass test where it can execute in isolation.

Along the way this removes a lot of the platform specificity of the
test, using iteslf to print the environment instead of a foreign process.
2018-11-25 17:05:05 +01:00
Pietro Albini
ed6c7b751d
Rollup merge of #56144 - tromey:Bug-55771-btreemap, r=alexcrichton
Fix BTreeSet and BTreeMap gdb pretty-printers

The BTreeSet and BTreeMap gdb pretty-printers did not take the node
structure into account, and consequently only worked for shallow sets.
This fixes the problem by iterating over child nodes when needed.

This patch avoids the current approach of implementing some of the
value manipulations in debugger-indepdendent code.  This was done for
convenience: a type lookup was needed for the first time, and there
currently are no lldb formatters for these types.

Closes #55771
2018-11-25 17:05:04 +01:00
Pietro Albini
6398df1520
Rollup merge of #56101 - frewsxcv:frewsxcv-dyn, r=steveklabnik
Incorporate `dyn` into more comments and docs.

r? @rust-lang/docs
2018-11-25 17:05:03 +01:00
Pietro Albini
b16d8eb3f2
Rollup merge of #56072 - da-x:stabilize-literal-matcher, r=petrochenkov
Stabilize macro_literal_matcher

This followed FCP in #35625.

Closes #35625
2018-11-25 17:05:00 +01:00
Pietro Albini
6c2513c0d3
Rollup merge of #56045 - qnighy:additional-sizedness, r=cramertj
Check arg/ret sizedness at ExprKind::Path

This PR solves three problems:

- #50940: ICE on casting unsized tuple struct constructors
- Unsized tuple struct constructors were callable in presence of `unsized_locals`.
- https://github.com/rust-lang/rust/issues/48055#issuecomment-437178966: we cannot relax `Sized` bounds on stable functions because of fn ptr casting

These are caused by lack of `Sized`ness checks for arguments/retvals at **reference sites of `FnDef` items** (not call sites of the functions). Therefore we can basically add more `Sized` obligations on typeck. However, adding `Sized` obligations arbitrarily breaks type inference; to prevent that I added a new method `require_type_is_sized_deferred` which doesn't interfere usual type inference.
2018-11-25 17:04:58 +01:00
Pietro Albini
1aa3ffaf99
Rollup merge of #56024 - oli-obk:const_fn_collect_inner, r=michaelwoerister
Don't auto-inline const functions

fixes #53451
2018-11-25 17:04:57 +01:00
Vadim Petrochenkov
fe548e311a resolve: Fix some more asserts in import validation 2018-11-25 16:41:29 +03:00
Vadim Petrochenkov
e593431bc7 resolve: Fix bad span arithmetics in import conflict diagnostics 2018-11-25 16:41:16 +03:00
Vadim Petrochenkov
d4a78da543 resolve: Prohibit relative paths in visibilities on 2018 edition 2018-11-25 16:40:03 +03:00
Simon Sapin
68a26ec647 Stabilize the int_to_from_bytes feature
Fixes #52963
2018-11-25 08:29:01 +01:00
bors
abe19a7305 Auto merge of #55921 - scalexm:placeholders, r=nikomatsakis
Add placeholder types

Fixes #48696 (handle universes in canonicalization of type inference vars), and fixes #55098.
2018-11-25 06:48:21 +00:00
bors
37961dbd2d Auto merge of #55959 - matthewjasper:remove-end-region, r=nikomatsakis
Cleanup from lexical MIR borrowck removal

Lexical MIR borrowck was removed months ago now, and `EndRegion`s are no longer used for MIRI verification.

* Remove `rustc::mir::StatementKind::EndRegion` and the `-Zemit_end_regions` flag
* Use `RegionVid` instead of `Region` in BorrowSet
* Rewrite drop generation to create fewer goto terminators.

r? @nikomatsakis
2018-11-25 03:00:30 +00:00
Esteban Küber
6b338e034a Suggest correct enum variant on typo 2018-11-24 16:25:13 -08:00
scalexm
b8a30f04cd Try to work around #53332 in src/test/run-pass/rustc-rust-log.rs 2018-11-24 23:42:14 +01:00
Oliver Scherer
b820cc79a9 Clean up array/slice of primitive validation 2018-11-24 11:36:32 +01:00
Oliver Scherer
87bd5d13d8 Remove stderr file, because the test passes now 2018-11-24 11:36:32 +01:00
Oliver Scherer
ef332959dc Reintroduce zst-slice reading read_bytes method on Memory 2018-11-24 11:36:32 +01:00
Oliver Scherer
ebf03363f2 Properly test for int pointers in fat pointers to str slices of zero chars 2018-11-24 11:36:31 +01:00
Oliver Scherer
20dee47a66 Add regression test for integral pointers in zst str slice fat pointers 2018-11-24 11:36:31 +01:00
scalexm
4478dced47 Fix NLL ui test 2018-11-24 01:24:40 +01:00
Esteban Küber
d011313d84 Reword EOF in macro arm message 2018-11-23 15:49:31 -08:00
Esteban Küber
950a3edf27 Fix proc-macro test after internal API change 2018-11-23 15:37:31 -08:00
Esteban Küber
c45871ba02 Keep label on moved spans and point at macro invocation on parse error 2018-11-23 15:37:31 -08:00
Esteban Küber
76449d86c0 Point at macro arm when it doesn't expand to an expression 2018-11-23 15:37:31 -08:00
Esteban Küber
e5cd1edfa1 Reword incorrect macro invocation primary label 2018-11-23 15:37:31 -08:00
Esteban Küber
34bd86a3fd Add label when replacing primary DUMMY_SP in macro expansion 2018-11-23 15:37:31 -08:00
Esteban Küber
ea9ccb6046 Point at end of macro arm when encountering EOF
Fix #52866
2018-11-23 15:37:31 -08:00
Corey Farwell
ebb1a48b41
Merge branch 'master' into frewsxcv-dyn 2018-11-23 14:09:08 -05:00
kennytm
bf72971abc
Rollup merge of #56120 - SergioBenitez:subspan, r=alexcrichton
Add unstable Literal::subspan().

Take 2 of #55971. Still ~wrong, but now with a comment! (and less of a surface) Unblocks #49219.

r? @alexcrichton
2018-11-24 01:31:58 +08:00
kennytm
e0025df3fd
Rollup merge of #56097 - ogoffart:union-abi, r=eddyb
Fix invalid bitcast taking bool out of a union represented as a scalar

As reported in https://github.com/rust-lang/rust/pull/54668#issuecomment-440186476
2018-11-24 01:31:56 +08:00
kennytm
91bceb8fc2
Rollup merge of #55767 - tromey:disable-some-pretty-printers, r=alexcrichton
Disable some pretty-printers when gdb is rust-enabled

A rust-enabled gdb already knows how to display string slices,
structs, tuples, and enums (and after #54004, the pretty-printers
can't handle enums at all).  This patch disables these pretty-printers
when gdb is rust-enabled.

The "gdb-pretty-struct-and-enums-pre-gdb-7-7.rs" test is renamed,
because it does not seem to depend on any behavior of that version of
gdb, and because gdb 7.7 is 4 years old now.
2018-11-24 01:31:47 +08:00
bors
aecbcd1ce2 Auto merge of #55808 - estebank:type-arguments, r=petrochenkov
Suggest correct syntax when writing type arg instead of assoc type

- When confusing an associated type with a type argument, suggest the appropriate syntax. Given `Iterator<isize>`, suggest `Iterator<Item = isize>`.
- When encountering multiple missing associated types, emit only one diagnostic.
- Point at associated type def span for context.
- Point at each extra type argument.

Follow up to #48288, fix #20977.
2018-11-23 11:26:48 +00:00
Esteban Küber
510f836d23 Do not point at associated types from other crates
This is a somewhat arbitrary restriction in order to be consistent in the
output of the tests regardless of target platform.
2018-11-22 14:30:33 -08:00
Esteban Küber
a5d35631fe Reword and fix test 2018-11-22 14:14:27 -08:00