about summary refs log tree commit diff
path: root/src/librustc/traits/project.rs
AgeCommit message (Collapse)AuthorLines
2019-04-25Improved error message when type must be bound due to generator.Giles Cope-3/+3
Error now mentions type var name and span is highlighted.
2019-03-16Revert the `LazyConst` PROliver Scherer-5/+6
2019-03-15rustc: rename item_path to def_path (except the module in ty).Eduard-Mihai Burtescu-1/+1
2019-03-13Use derive macro for HashStableJohn Kåre Alsaker-1/+2
2019-02-27rename Substs to InternalSubstscsmoe-3/+3
Change-Id: I3fa00e999a2ee4eb72db1fdf53a8633b49176a18
2019-02-21introduce a dummy leak check and invoke it in all the right placesNiko Matsakis-6/+8
This set of diffs was produced by combing through b68fad670bb3612cac26e50751e4fd9150e59977 and seeing where the `leak_check` used to be invoked and how.
2019-02-10rustc: doc commentsAlexander Regueiro-12/+11
2019-02-09Auto merge of #58207 - nnethercote:intern_lazy_const, r=oli-obkbors-2/+2
Make `intern_lazy_const` actually intern its argument. Currently it just unconditionally allocates it in the arena. For a "Clean Check" build of the the `packed-simd` benchmark, this change reduces both the `max-rss` and `faults` counts by 59%; it slightly (~3%) increases the instruction counts but the `wall-time` is unchanged. For the same builds of a few other benchmarks, `max-rss` and `faults` drop by 1--5%, but instruction counts and `wall-time` changes are in the noise. Fixes #57432, fixes #57829.
2019-02-06Make `intern_lazy_const` actually intern its argument.Nicholas Nethercote-2/+2
Currently it just unconditionally allocates it in the arena. For a "Clean Check" build of the the `packed-simd` benchmark, this change reduces both the `max-rss` and `faults` counts by 59%; it slightly (~3%) increases the instruction counts but the `wall-time` is unchanged. For the same builds of a few other benchmarks, `max-rss` and `faults` drop by 1--5%, but instruction counts and `wall-time` changes are in the noise. Fixes #57432, fixes #57829.
2019-02-05move librustc to 2018Mark Mansi-8/+8
2019-01-04Auto merge of #56723 - oli-obk:lazy_const, r=nikomatsakisbors-6/+6
Don't emit `Unevaluated` from `const_eval` cc @eddyb @RalfJung
2019-01-02universe transitionNiko Matsakis-28/+20
Remove the leak-check and its associated machinery. Replace with making the solver aware of universes.
2019-01-01Move the `Unevaluated` constant arm upwards in the type structureOliver Scherer-6/+6
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-07Various minor/cosmetic improvements to codeAlexander Regueiro-4/+4
2018-11-25Auto merge of #55906 - nnethercote:rm-OpenSnapshot-CommittedSnapshot, ↵bors-9/+5
r=nikomatsakis Clean up and streamline snapshot data structures These commits clean up the snapshot structures a bit, so they are more consistent with each other and with the `ena` crate. They also remove the `OpenSnapshot` and `CommittedSnapshot` entries in the undo log, just like I did for the `ena` crate in https://github.com/rust-lang-nursery/ena/pull/14. This PR in combination with that `ena` PR reduces instruction counts by up to 6% on benchmarks. r? @nikomatsakis. Note that this isn't quite ready for landing, because the `ena` dependency in the first commit needs to be updated once https://github.com/rust-lang-nursery/ena/pull/14 lands. But otherwise it should be good.
2018-11-25Make `commit` and `rollback_to` methods take ownership of the snapshots.Nicholas Nethercote-3/+3
Because they shouldn't be reused. This provides consistency with the `ena` crate.
2018-11-25Remove `insert_noop`.Nicholas Nethercote-6/+2
Because it's as useless as its name suggests. This commit also renames `UndoLog::Noop` as `UndoLog::Purged`, because (a) that's a more descriptive name and (b) it matches the name used in similar code in `librustc/infer/region_constraints/mod.rs`.
2018-11-24Instantiate all bound vars universallyscalexm-1/+1
2018-11-24Rename some occurences of `skol` to `placeholder`scalexm-2/+2
2018-11-10Auto merge of #55717 - oli-obk:rustdoc_overflow, r=pnkfelixbors-1/+1
Bubble up an overflow error so that rustdoc can ignore it fixes #54524 Idk how to write a test for this, other than trying to minimize the entire diesel crate. If desirable I will do that. Note that there are many other such overflow errors hiding out there. Should we try to proactively eliminate them or do we just whack-a-mole them? cc @GuillaumeGomez r? @nikomatsakis
2018-11-07Rollup merge of #55734 - teresy:shorthand-fields, r=davidtwcokennytm-1/+1
refactor: use shorthand fields refactor: use shorthand for single fields everywhere (excluding tests).
2018-11-06refactor: use shorthand fieldsteresy-1/+1
2018-11-06Bubble up an overflow error so that rustdoc can ignore itOliver Scherer-1/+1
2018-11-03Auto merge of #55101 - alexreg:trait-aliases, r=nikomatsakisbors-7/+6
Implement trait aliases (RFC 1733) Extends groundwork done in https://github.com/rust-lang/rust/pull/45047, and fully implements https://github.com/rust-lang/rfcs/pull/1733. CC @durka @nikomatsakis
2018-11-03Rename `Binder::no_late_bound_regions` to `Binder::no_bound_vars`scalexm-1/+1
2018-11-03Shift both late bound regions and bound typesscalexm-2/+2
2018-11-03Added support for trait aliases as bounds.Alexander Regueiro-7/+6
2018-10-26Remove redundant cloneShotaro Yamada-1/+1
2018-10-23Remove redundant cloneShotaro Yamada-1/+1
2018-10-19Prefer `Default::default` over `FxHash*::default` in struct constructorsOliver Scherer-6/+1
2018-10-04s/skol_predicate/placeholder_predicateNiko Matsakis-2/+2
2018-10-04rename skolemized to placeholderNiko Matsakis-10/+10
2018-09-18A few cleanups and minor improvements to rustc/traitsljedrz-46/+36
2018-09-05Changing TyAnon -> TyOpaque and relevant functionsms2300-3/+3
2018-08-22Remove Ty prefix from ↵varkor-9/+9
Ty{Adt|Array|Slice|RawPtr|Ref|FnDef|FnPtr|Dynamic|Closure|Generator|GeneratorWitness|Never|Tuple|Projection|Anon|Infer|Error}
2018-08-12Rollup merge of #53223 - ljedrz:cleanup_data_structures, r=oli-obkGuillaume Gomez-3/+3
A few cleanups for rustc_data_structures - remove a redundant `clone()` - make some calls to `.iter()` implicit - collapse/simplify a few operations - remove some explicit `return`s - make `SnapshotMap::{commit, rollback_to}` take references - remove unnecessary struct field names - change `transmute()`s in `IdxSet::{from_slice, from_slice_mut}` to casts - remove some unnecessary lifetime annotations - split 2 long literals
2018-08-10Consider changing assert! to debug_assert! when it calls visit_withljedrz-1/+1
2018-08-09Make SnapshotMap::{commit, rollback_to} take referencesljedrz-3/+3
2018-07-25Fix associated existentials for generic traitsOliver Schneider-1/+2
2018-07-23Implement associated existential typesOliver Schneider-3/+9
2018-06-28Rollup merge of #51636 - oli-obk:const_diagnostics, r=eddybMark Rousskov-2/+2
Refactor error reporting of constants cc @eddyb This PR should not change any behaviour. It solely simplifies the internal handling of the errors
2018-06-28Merge `ConstVal` and `ConstValue`Oliver Schneider-2/+2
2018-06-28Move everything over from `middle::const_val` to `mir::interpret`Oliver Schneider-1/+1
2018-06-28Use `Ident`s for associated item definitions in HIRVadim Petrochenkov-7/+6
Remove emulation of hygiene with gensyms
2018-06-28Use `Ident`s for associated type bindings in HIRVadim Petrochenkov-2/+3
2018-06-02Fix typos of 'ambiguous'Jon Purdy-4/+4
2018-05-31change `PointerKind::Implicit` to a noteNiko Matsakis-6/+25
`PointerKind` is included in `LoanPath` and hence forms part of the equality check; this led to having two unequal paths that both represent `*x`, depending on whether the `*` was inserted automatically or explicitly. Bad mojo. The `note` field, in contrast, is intended more-or-less primarily for this purpose of adding extra data.
2018-05-17Rollup merge of #50818 - nnethercote:faster-normalize, r=nikomatsakisMark Simulacrum-55/+90
Speed up `opt_normalize_projection_type` `opt_normalize_projection_type` is hot in the serde and futures benchmarks in rustc-perf. These two patches speed up the execution of most runs for them by 2--4%.
2018-05-17Rename trans to codegen everywhere.Irina Popa-3/+3