-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Implement (most of) RFC 1214 #27641
Implement (most of) RFC 1214 #27641
Commits on Aug 12, 2015
-
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.
Configuration menu - View commit details
-
Copy full SHA for 4561607 - Browse repository at this point
Copy the full SHA 4561607View commit details -
Define the
wf
andoutlives
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.
Configuration menu - View commit details
-
Copy full SHA for 9289552 - Browse repository at this point
Copy the full SHA 9289552View commit details -
Configuration menu - View commit details
-
Copy full SHA for b196315 - Browse repository at this point
Copy the full SHA b196315View commit details -
Extend ParameterEnvironment to remember the free_id, and to be usable
on more kind of items
Configuration menu - View commit details
-
Copy full SHA for ad47bd8 - Browse repository at this point
Copy the full SHA ad47bd8View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 8d98877 - Browse repository at this point
Copy the full SHA 8d98877View commit details -
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.)
Configuration menu - View commit details
-
Copy full SHA for 6bb1e22 - Browse repository at this point
Copy the full SHA 6bb1e22View commit details -
Configuration menu - View commit details
-
Copy full SHA for 39d164d - Browse repository at this point
Copy the full SHA 39d164dView commit details -
Introduce a "origin/cause" for new requirements (or bugfixes...) intr…
…oduced by RFC 1214, and issue a warning (and explanatory note) when we encounter such a thing.
Configuration menu - View commit details
-
Copy full SHA for 75ee8f1 - Browse repository at this point
Copy the full SHA 75ee8f1View commit details -
Generalize the outlives rule for projections to handle the new cases;
also, generalize VerifyBounds to include OR conditions.
Configuration menu - View commit details
-
Copy full SHA for d159977 - Browse repository at this point
Copy the full SHA d159977View commit details -
Configuration menu - View commit details
-
Copy full SHA for 788a802 - Browse repository at this point
Copy the full SHA 788a802View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91b3e9c - Browse repository at this point
Copy the full SHA 91b3e9cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d15d743 - Browse repository at this point
Copy the full SHA d15d743View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 09bf2fe - Browse repository at this point
Copy the full SHA 09bf2feView commit details -
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
Configuration menu - View commit details
-
Copy full SHA for 92d16d9 - Browse repository at this point
Copy the full SHA 92d16d9View commit details -
Fallout in tests -- break this test into three tests, since we later saw
staging differences in terms of when errors were reported
Configuration menu - View commit details
-
Copy full SHA for 532fcb2 - Browse repository at this point
Copy the full SHA 532fcb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for f4aaedb - Browse repository at this point
Copy the full SHA f4aaedbView commit details -
Configuration menu - View commit details
-
Copy full SHA for dee8b54 - Browse repository at this point
Copy the full SHA dee8b54View commit details -
Fallout in tests -- explain an interesting test failure having to
do with dropck and the new outlives rules
Configuration menu - View commit details
-
Copy full SHA for 7ed39c6 - Browse repository at this point
Copy the full SHA 7ed39c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for ff39ee9 - Browse repository at this point
Copy the full SHA ff39ee9View commit details -
Configuration menu - View commit details
-
Copy full SHA for b7e849b - Browse repository at this point
Copy the full SHA b7e849bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0582fed - Browse repository at this point
Copy the full SHA 0582fedView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c3a866 - Browse repository at this point
Copy the full SHA 9c3a866View commit details -
Configuration menu - View commit details
-
Copy full SHA for c9a49f9 - Browse repository at this point
Copy the full SHA c9a49f9View commit details -
regionck.rs: correct misuse of ty.regions() rather than regions()
and add a test that was (incorrectly) failing to compile with existing code
Configuration menu - View commit details
-
Copy full SHA for fb1b6fc - Browse repository at this point
Copy the full SHA fb1b6fcView commit details -
traits: consider whether origin is RFC1214 when caching, ensuring
that the test rfc1214-warn-and-error.rs reports an error
Configuration menu - View commit details
-
Copy full SHA for 9c5cfea - Browse repository at this point
Copy the full SHA 9c5cfeaView commit details -
Configuration menu - View commit details
-
Copy full SHA for a264440 - Browse repository at this point
Copy the full SHA a264440View commit details -
outlives.rs: remove use of ty.walk and replace with recursive of
ty.walk_shallow, add add'l comments.
Configuration menu - View commit details
-
Copy full SHA for a7c9a15 - Browse repository at this point
Copy the full SHA a7c9a15View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 2b2a113 - Browse repository at this point
Copy the full SHA 2b2a113View commit details -
Update test error messages based on changes to wfcheck; also, break
apart the tests that tested many things at once.
Configuration menu - View commit details
-
Copy full SHA for 157422a - Browse repository at this point
Copy the full SHA 157422aView commit details -
Configuration menu - View commit details
-
Copy full SHA for c106dd4 - Browse repository at this point
Copy the full SHA c106dd4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 213326c - Browse repository at this point
Copy the full SHA 213326cView commit details -
Configuration menu - View commit details
-
Copy full SHA for fda9b83 - Browse repository at this point
Copy the full SHA fda9b83View commit details -
Configuration menu - View commit details
-
Copy full SHA for ad700ab - Browse repository at this point
Copy the full SHA ad700abView commit details -
regionck.rs: experimentally adopt a more conservative strategy for
projection outlives relations that prefers not to add extract edges to region graph
Configuration menu - View commit details
-
Copy full SHA for 9f3f69e - Browse repository at this point
Copy the full SHA 9f3f69eView commit details
Commits on Aug 13, 2015
-
Configuration menu - View commit details
-
Copy full SHA for e1fa00b - Browse repository at this point
Copy the full SHA e1fa00bView commit details -
expr_use_visitor: Remove FIXME that is no longer needed (and in fact
causes errors, post rebase). Issue rust-lang#27592 is still alive and well, whatever it is.
Configuration menu - View commit details
-
Copy full SHA for 33200a3 - Browse repository at this point
Copy the full SHA 33200a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 401a243 - Browse repository at this point
Copy the full SHA 401a243View commit details
Commits on Aug 14, 2015
-
Configuration menu - View commit details
-
Copy full SHA for 7f8942c - Browse repository at this point
Copy the full SHA 7f8942cView commit details