Niko Matsakis
9f3f69efab
regionck.rs: experimentally adopt a more conservative strategy for
...
projection outlives relations that prefers not to add extract edges to
region graph
2015-08-12 17:58:58 -04:00
Niko Matsakis
ad700abea4
ty.rs: document/cleanup required_region_bounds a bit
2015-08-12 17:58:58 -04:00
Niko Matsakis
fda9b83960
regionck.rs: add a delayed_span_bug call to validate an asserrtion
2015-08-12 17:58:58 -04:00
Niko Matsakis
213326cddd
outlives.rs: correct typo
2015-08-12 17:58:58 -04:00
Niko Matsakis
c106dd449c
traits/error_reporting.rs: always note obligation cause
2015-08-12 17:58:58 -04:00
Niko Matsakis
157422a0c7
Update test error messages based on changes to wfcheck; also, break
...
apart the tests that tested many things at once.
2015-08-12 17:58:58 -04:00
Niko Matsakis
2b2a113638
check/wf.rs: change to use correct span and older WF algorithm;
...
at the time I reinstituted the old code, I hadn't given up yet and
brought back the implicator.
2015-08-12 17:58:58 -04:00
Niko Matsakis
a7c9a15e0e
outlives.rs: remove use of ty.walk and replace with recursive of
...
ty.walk_shallow, add add'l comments.
2015-08-12 17:58:58 -04:00
Niko Matsakis
a264440ab0
outlives: convert outlives to use an exhaustive match, for better
...
reliability.
2015-08-12 17:58:57 -04:00
Niko Matsakis
9c5cfea43d
traits: consider whether origin is RFC1214 when caching, ensuring
...
that the test rfc1214-warn-and-error.rs reports an error
2015-08-12 17:58:57 -04:00
Niko Matsakis
fb1b6fca36
regionck.rs: correct misuse of ty.regions() rather than regions()
...
and add a test that was (incorrectly) failing to compile with
existing code
2015-08-12 17:58:57 -04:00
Niko Matsakis
c9a49f93ac
regionck.rs: remove dead fn type_strictly_outlives
2015-08-12 17:58:57 -04:00
Niko Matsakis
9c3a8664b6
middle/outlives.rs: s/temp/subcomponents/
2015-08-12 17:58:57 -04:00
Niko Matsakis
0582fed63f
middle/outlives.rs: fix typo
2015-08-12 17:58:57 -04:00
Niko Matsakis
b7e849bf6a
infer/mod.rs: add doc comment to RFC1214 variant
2015-08-12 17:58:57 -04:00
Niko Matsakis
ff39ee9a90
wip 082a011e2bd5c8254e6c1b2fdc97a6fcb2927a7f rm binary
2015-08-12 17:58:57 -04:00
Niko Matsakis
7ed39c6d9b
Fallout in tests -- explain an interesting test failure having to
...
do with dropck and the new outlives rules
2015-08-12 17:58:57 -04:00
Niko Matsakis
dee8b54b71
Fallout in tests --- misc error message changes, WF fixes
2015-08-12 17:58:57 -04:00
Niko Matsakis
f4aaedb51e
Fallout in tests -- break test into a run-pass and compile-fail component
2015-08-12 17:58:56 -04:00
Niko Matsakis
532fcb250f
Fallout in tests -- break this test into three tests, since we later saw
...
staging differences in terms of when errors were reported
2015-08-12 17:58:56 -04:00
Niko Matsakis
92d16d961d
Fallout in tests -- break the object safety part into a separate file because error
...
will be in future reported by wfcheck, which runs in a later stage than
coherence
2015-08-12 17:58:56 -04:00
Niko Matsakis
09bf2fef22
Fallout in tests -- we now report an error if you even reference a type
...
`&Foo` where `Foo` is a trait that is not object-safe
2015-08-12 17:58:56 -04:00
Niko Matsakis
d15d743fa8
Add FIXME for apparent stage0 regression
2015-08-12 17:58:56 -04:00
Niko Matsakis
91b3e9cac0
Fallout in libs -- misc missing bounds uncovered by WF checks.
2015-08-12 17:58:56 -04:00
Niko Matsakis
788a802dad
New tests --- projection outlives relation
2015-08-12 17:58:22 -04:00
Niko Matsakis
d159977502
Generalize the outlives rule for projections to handle the new cases;
...
also, generalize VerifyBounds to include OR conditions.
2015-08-12 17:58:22 -04:00
Niko Matsakis
75ee8f1562
Introduce a "origin/cause" for new requirements (or bugfixes...) introduced by RFC 1214,
...
and issue a warning (and explanatory note) when we encounter such a
thing.
2015-08-12 17:58:22 -04:00
Niko Matsakis
39d164d042
New tests --- check that wf relation is being checked in various positions
2015-08-12 17:57:58 -04:00
Niko Matsakis
6bb1e22911
New WF condition requires checking that argument types are WF
...
on every call. This ensures that implies bounds are reasonable
(the older code only checked that the values provided had WF types, but
we also must know that the formal types of the arguments are WF.)
2015-08-12 17:57:58 -04:00
Niko Matsakis
8d98877112
Implement a new wfcheck to replace the old wf; this new code only issues
...
warnings. It also checks more conditions than the old code. Keep the
old wf code around unchanged so that we can continue to issue errors for
the cases where we used to report errors.
As part of this, remove the where-clauses-must-reference-parameter rule,
which is easily circumvented.
2015-08-12 17:57:58 -04:00
Niko Matsakis
ad47bd8a0f
Extend ParameterEnvironment to remember the free_id, and to be usable
...
on more kind of items
2015-08-12 17:57:57 -04:00
Niko Matsakis
b1963154a1
Add two new kinds of predicates, WellFormed and ObjectSafe.
2015-08-12 17:57:57 -04:00
Niko Matsakis
928955296e
Define the wf
and outlives
relation separately, unlike the existing
...
`implicator`. These definitions are also in accordance with RFC 1214 (or
more so), and hence somewhat different from the implicator. This commit
also modifies the implicator to remove the older rules for projections,
which can easily trigger infinite loops.
2015-08-12 17:57:57 -04:00
Niko Matsakis
4561607403
Don't report a hard error if there are inference failures until
...
after we check casts, because sometimes casts can influence inference,
unfortunately. We do re-run `select_all_trait_obligations` during
regionck anyhow.
2015-08-12 17:57:57 -04:00
bors
d07d465cf6
Auto merge of #27690 - vadimcn:no-windres, r=alexcrichton
...
Fix #26803
2015-08-12 19:13:52 +00:00
bors
8b5948d5bf
Auto merge of #27688 - alexcrichton:rollup, r=alexcrichton
2015-08-12 17:07:11 +00:00
bors
81c9ff24fe
Auto merge of #27630 - sylvestre:master, r=dotdash
2015-08-12 12:47:22 +00:00
bors
2b45a0d908
Auto merge of #27618 - dotdash:drop_fixes, r=luqmana
2015-08-12 08:13:35 +00:00
Vadim Chugunov
31be146ba0
Fix #26803
2015-08-11 23:20:19 -07:00
Alex Crichton
6b09eb8e17
Test fixes and rebase conflicts
2015-08-11 22:42:22 -07:00
Alex Crichton
fe3ab21054
rollup merge of #27682 : neurons/np.27681
...
PR for [Issue #27681 ] (https://github.com/rust-lang/rust/issues/27681 ). A simple update to the latest version of rust when typing the command rustc --version.
2015-08-11 22:42:22 -07:00
Alex Crichton
db3f06388b
rollup merge of #27679 : durka/patch-5
...
I'm not 100% sure lines 63 and 73 are typos.
2015-08-11 22:42:22 -07:00
Alex Crichton
837ae4f3d4
rollup merge of #27678 : alexcrichton/snapshots
...
* Lots of core prelude imports removed
* Makefile support for MSVC env vars and Rust crates removed
* Makefile support for morestack removed
2015-08-11 22:42:22 -07:00
Alex Crichton
bbef8893f7
rollup merge of #27676 : alexcrichton/msvc-unwind
...
This commit leverages the runtime support for DWARF exception info added
in #27210 to enable unwinding by default on 64-bit MSVC. This also additionally
adds a few minor fixes here and there in the test harness and such to get
`make check` entirely passing on 64-bit MSVC:
* The invocation of `maketest.py` now works with spaces/quotes in CC
* debuginfo tests are disabled on MSVC
* A link error for librustc was hacked around (see #27438 )
2015-08-11 22:42:21 -07:00
Alex Crichton
00ac2c0550
rollup merge of #27674 : zaeleus/ios-imports
...
See https://github.com/rust-lang/rust/issues/27590#issuecomment-128885975 .
2015-08-11 22:42:21 -07:00
Alex Crichton
d4f2ef9b30
rollup merge of #27672 : eefriedman/ios-target-cpu
...
This matches the behavior of clang.
See also discussion on #27307 .
2015-08-11 22:42:21 -07:00
Alex Crichton
d493659d7b
rollup merge of #27666 : vadimcn/cabi-typo
...
I was not able to come up with tests that would expose this bug, as, apparently, Rust types of the args are not used for anything but debug logging.
Thanks to @luqmana for pointing this out!
2015-08-11 22:42:21 -07:00
Alex Crichton
d2552faa9d
rollup merge of #27665 : frewsxcv/patch-25
...
They are currently rendered incorrectly
https://doc.rust-lang.org/error-index.html#E0067
https://doc.rust-lang.org/error-index.html#E0070
2015-08-11 22:42:21 -07:00
Alex Crichton
8267ff7ae2
rollup merge of #27664 : birkenfeld/patch-1
2015-08-11 22:42:20 -07:00
Alex Crichton
2abc93606f
rollup merge of #27663 : tbu-/pr_remove_fixme
2015-08-11 22:42:20 -07:00