about summary refs log tree commit diff
path: root/src/test/ui/chalkify
AgeCommit message (Collapse)AuthorLines
2021-09-16Point at call span that introduced obligation for the argEsteban Kuber-1/+3
2021-08-16Use note to point at bound introducing requirementEsteban Küber-21/+38
2021-07-19Various diagnostics clean ups/tweaksEsteban Küber-3/+5
* Always point at macros, including derive macros * Point at non-local items that introduce a trait requirement * On private associated item, point at definition
2020-10-30Fix various Chalk lowering bugsMatthew Jasper-0/+33
- Add more well-known traits - Use the correct binders when lowering trait objects - Use correct substs when lowering trait objects - Use the correct binders for opaque_ty_data - Lower negative impls with the correct polarity - Supply associated type values - Use `predicates_defined_on` for where clauses
2020-10-06Separate bounds and predicates for associated/opaque typesMatthew Jasper-26/+47
2020-09-09Remove def_id field from ParamEnvBram van den Heuvel-2/+2
2020-09-04Bless changed test outputJack Huey-1/+1
2020-09-04Upgrade chalk to 0.21Jack Huey-6/+14
2020-09-02pretty: trim paths of unique symbolsDan Aloni-3/+3
If a symbol name can only be imported from one place for a type, and as long as it was not glob-imported anywhere in the current crate, we can trim its printed path and print only the name. This has wide implications on error messages with types, for example, shortening `std::vec::Vec` to just `Vec`, as long as there is no other `Vec` importable anywhere. This adds a new '-Z trim-diagnostic-paths=false' option to control this feature. On the good path, with no diagnosis printed, we should try to avoid issuing this query, so we need to prevent trimmed_def_paths query on several cases. This change also relies on a previous commit that differentiates between `Debug` and `Display` on various rustc types, where the latter is trimmed and presented to the user and the former is not.
2020-07-14Remove `Sized` `on_unimplemented` noteEsteban Küber-1/+0
2020-06-24Update ChalkJack Huey-38/+85
2020-06-19Nits and change skip_binder to no_bound_vars for fndefJack Huey-0/+15
2020-06-19Test error order is non-deterministicJack Huey-12/+5
2020-06-19Implement fn_def_datumJack Huey-21/+42
2020-05-07Reintegrate chalk using chalk-solveJack Huey-0/+579
2020-03-02Remove chalk integrationCAD97-487/+0
2019-11-18Surround types with backticks in type errorsEsteban Küber-1/+1
2019-11-18Remove E0308 note when primary label has all infoEsteban Küber-3/+0
2019-09-22On obligation errors point at the unfulfilled binding when possibleEsteban Küber-1/+1
2019-08-31Use span label instead of note for cause in E0631Esteban Küber-5/+3
2019-07-27tests: Move run-pass tests without naming conflicts to uiVadim Petrochenkov-0/+177
2019-04-18hide `--explain` hint if error has no extended infoAndy Russell-1/+1
2019-03-20Fix a bug in implied boundsscalexm-3/+3
2019-03-20Gather region constraints not coming from unificationscalexm-2/+0
2019-03-11Update testsVadim Petrochenkov-15/+15
2018-12-31Improve type mismatch error messagesYuning Zhang-1/+1
Replace "integral variable" with "integer" and replace "floating-point variable" with "floating-point number" to make the message less confusing.
2018-12-27Add testsscalexm-0/+54
2018-12-25Remove licensesMark Rousskov-93/+13
2018-11-13Implement `ProjectionEq-Normalize`csmoe-0/+1
2018-11-13Use a dummy outlives requirement for `where Type:,` (see #53696)scalexm-2/+2
A `WF(Type)` predicate was used previously, which did not play well with implied bounds in chalk.
2018-11-13Bypass ppaux for `Outlives` predicatesscalexm-11/+11
2018-11-13Provide program clauses for builtin typesscalexm-0/+2
2018-11-13Pretty print quantified goals and clausesscalexm-64/+51
2018-10-17Add tests for `program_clauses_for_env`scalexm-3/+97
2018-10-08Add chalk rules related to associated type defsscalexm-11/+21
* Rule ProjectionEq-Skolemize * Rule WellFormed-AssocTy * Rule Implied-Trait-From-AssocTy
2018-10-03Remove duplicate predicates in `explicit_predicates_of`scalexm-4/+2
Fixes #52187.
2018-08-31rustc_typeck: turn `where Type:,` into a WF(Type) predicate, instead of ↵Eduard-Mihai Burtescu-2/+11
ignoring it.
2018-08-27fix some anon paramsMark Mansi-7/+7
2018-07-07update testscsmoe-6/+3
2018-07-05merge wellformed(wc)scsmoe-13/+7
2018-07-05update testcsmoe-0/+16
2018-07-02introduce `predicates_defined_on` for traitsNiko Matsakis-2/+2
This new query returns only the predicates *directly defined* on an item (in contrast to the more common `predicates_of`, which returns the predicates that must be proven to reference an item). These two sets are almost always identical except for traits, where `predicates_of` includes an artificial `Self: Trait<...>` predicate (basically saying that you cannot use a trait item without proving that the trait is implemented for the type parameters). This new query is only used in chalk lowering, where this artificial `Self: Trait` predicate is problematic. We encode it in metadata but only where needed since it is kind of repetitive with existing information. Co-authored-by: Tyler Mandry <tmandry@gmail.com>
2018-06-07Add tests for `WellFormed-Type` and `FromEnv-Type` rulesscalexm-0/+30
2018-06-07Remove `FromEnv(ProjectionEq(...))` from testsscalexm-1/+1
2018-04-23sort strings on outputNiko Matsakis-9/+9
2018-04-23first draft of `program_clauses_for_env`Niko Matsakis-0/+48
This computes the transitive closure of traits that appear in the environment and then appends their clauses. It needs some work, but it's in the right direction.
2018-04-23in unit tests, use `note` to dump multiple program clausesNiko Matsakis-100/+38
(rather than issuing multiple errors) Also, reorder so that the annotations are considered "used" when the lint runs.
2018-04-15Stop duplicating where clauses from impl's.Fabian Zaiser-1/+1
2018-04-15Implement Chalk lowering rule Normalize-From-ImplFabian Zaiser-1/+16
2018-04-06chalkify: Implement Rule Implied-Bound-From-TraitTyler Mandry-1/+147