rust/src/libsyntax
bors 5e13d3aa00 auto merge of #17378 : Gankro/rust/hashmap-entry, r=aturon
Deprecates the `find_or_*` family of "internal mutation" methods on `HashMap` in
favour of the "external mutation" Entry API as part of RFC 60. Part of #17320,
but this still needs to be done on the rest of the maps. However they don't have
any internal mutation methods defined, so they can be done without deprecating
or breaking anything. Work on `BTree` is part of the complete rewrite in #17334.

The implemented API deviates from the API described in the RFC in two key places:

* `VacantEntry.set` yields a mutable reference to the inserted element to avoid code
duplication where complex logic needs to be done *regardless* of whether the entry
was vacant or not.
* `OccupiedEntry.into_mut` was added so that it is possible to return a reference
into the map beyond the lifetime of the Entry itself, providing functional parity
to `VacantEntry.set`.

This allows the full find_or_insert functionality to be implemented using this API.
A PR will be submitted to the RFC to amend this.

[breaking-change]
2014-09-25 03:32:36 +00:00
..
ast_map librustc: Implement associated types behind a feature gate. 2014-09-17 16:38:57 -07:00
diagnostics Allow syntax extensions to return multiple items, closes #16723. 2014-09-19 11:10:54 +02:00
ext auto merge of #17378 : Gankro/rust/hashmap-entry, r=aturon 2014-09-25 03:32:36 +00:00
parse librustc: Parse and resolve higher-rank lifetimes in traits. 2014-09-22 21:14:58 -07:00
print librustc: Parse and resolve higher-rank lifetimes in traits. 2014-09-22 21:14:58 -07:00
util auto merge of #17223 : retep998/rust/into_string, r=huonw 2014-09-17 01:16:14 +00:00
abi.rs Unify non-snake-case lints and non-uppercase statics lints 2014-08-30 09:10:05 +12:00
ast.rs Use more descriptive names in dead code messages 2014-09-24 21:03:55 +02:00
ast_util.rs librustc: Implement associated types behind a feature gate. 2014-09-17 16:38:57 -07:00
attr.rs Fallout from renaming 2014-09-16 14:37:48 -07:00
codemap.rs Fix fallout in tests from removing the use of Gc in ExpnInfo. 2014-09-18 14:36:18 +03:00
config.rs librustc: Implement associated types behind a feature gate. 2014-09-17 16:38:57 -07:00
crateid.rs core: Change the argument order on splitn and rsplitn for strs. 2014-08-13 15:27:37 -07:00
diagnostic.rs syntax: use an index in CodeMap instead of Gc for ExpnInfo. 2014-09-18 14:36:18 +03:00
feature_gate.rs librustc: Forbid private types in public APIs. 2014-09-22 20:05:45 -07:00
fold.rs librustc: Parse and resolve higher-rank lifetimes in traits. 2014-09-22 21:14:58 -07:00
lib.rs syntax: use an index in CodeMap instead of Gc for ExpnInfo. 2014-09-18 14:36:18 +03:00
owned_slice.rs Fallout from renaming 2014-09-16 14:37:48 -07:00
ptr.rs syntax: document the ptr module. 2014-09-14 04:20:36 +03:00
show_span.rs rebasing fixes 2014-09-17 16:53:20 +12:00
std_inject.rs move std_inject to libsyntax 2014-09-17 16:53:20 +12:00
test.rs move most of front to libsyntax 2014-09-17 16:53:20 +12:00
visit.rs librustc: Parse and resolve higher-rank lifetimes in traits. 2014-09-22 21:14:58 -07:00