-
Notifications
You must be signed in to change notification settings - Fork 11
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
Precise bounds #19
Precise bounds #19
Commits on Feb 20, 2024
-
Debug impl: pass whole ast to create_format_arg
We'll want this in a moment. No functional chnage.
Configuration menu - View commit details
-
Copy full SHA for bbafa6f - Browse repository at this point
Copy the full SHA bbafa6fView commit details -
Debug impl: Fix generated code for explicit methods
* Make the internal wrapper type have *all* the parent's generics, and contain a PhantomData, so we can: * Put the bounds on the Debug impl for the internal wrapper type. * Rename the internal wrapper type to avoid name clashes with users' types. * Rename the formatter variable to avoid name clashes with users's values.
Configuration menu - View commit details
-
Copy full SHA for e224ad8 - Browse repository at this point
Copy the full SHA e224ad8View commit details -
Default bounds: Use precisely the right bounds, from the fields
Rather than trying to filter the generic parameters for ones used in types, state the bounds in terms of the actual field types. This is precisely correct. It avoids lossage in situations where the field type's implementation of the trait has bounds which depend in a less-than-straightforward way on its generics. There is still an issue with implementing traits which have supertraits. We ought to apply a `Self: Super` bound, but we don't yet.
Configuration menu - View commit details
-
Copy full SHA for dea0d33 - Browse repository at this point
Copy the full SHA dea0d33View commit details -
Configuration menu - View commit details
-
Copy full SHA for b2a99a7 - Browse repository at this point
Copy the full SHA b2a99a7View commit details -
Generic bounds: Handle supertraits
When we are implementing traits which have supertraits, add bounds of the form `where Self: Super` for each supertrait. While we're touching every call site, abolish the unused parameters. (I have future plans that will want `params` in into_where_predicates_by_generic_parameters_check_types, but not in create_where_predicates_from_generic_parameters_check_types, so leave that one there for now.)
Configuration menu - View commit details
-
Copy full SHA for 610b6ad - Browse repository at this point
Copy the full SHA 610b6adView commit details -
Configuration menu - View commit details
-
Copy full SHA for eb28c48 - Browse repository at this point
Copy the full SHA eb28c48View commit details -
Configuration menu - View commit details
-
Copy full SHA for 69f4c1c - Browse repository at this point
Copy the full SHA 69f4c1cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7690e47 - Browse repository at this point
Copy the full SHA 7690e47View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e47d8b - Browse repository at this point
Copy the full SHA 2e47d8bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 725dae8 - Browse repository at this point
Copy the full SHA 725dae8View commit details -
Use the new precise bounds function, rather than the ident-hunter. Apply the Clone supertrait explicitly. This disposes of the oddity mentioned in the comment, as will be demonstrated in a test.
Configuration menu - View commit details
-
Copy full SHA for b18f14f - Browse repository at this point
Copy the full SHA b18f14fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a29080 - Browse repository at this point
Copy the full SHA 9a29080View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1daf893 - Browse repository at this point
Copy the full SHA 1daf893View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a09812 - Browse repository at this point
Copy the full SHA 1a09812View commit details -
This is no longer used, now that everything uses the precise bounds function.
Configuration menu - View commit details
-
Copy full SHA for f3a3cb5 - Browse repository at this point
Copy the full SHA f3a3cb5View commit details -
Abolish into_where_predicates_by_generic_parameters
Nothing calls this. And, nothing should, because it would give wrong answers. Rename create_where_predicates_from_generic_parameters to create_where_predicates_from_all_generic_parameters. This will be useful if we implement a `bound(...)` syntax that allows requesting the "apply a bound for each generic parameter, regardless" mode. If we don't want to implement such a mode, we should delete this function, but let's not entangle this already large bugfix MR with questions about future features and UI.
Configuration menu - View commit details
-
Copy full SHA for ecaf0f2 - Browse repository at this point
Copy the full SHA ecaf0f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b9a95c - Browse repository at this point
Copy the full SHA 7b9a95cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b07ecb - Browse repository at this point
Copy the full SHA 4b07ecbView commit details