about summary refs log tree commit diff
path: root/src/librustc/util
AgeCommit message (Collapse)AuthorLines
2014-04-12auto merge of #13461 : eddyb/rust/cleanup-at-fn, r=luqmanabors-44/+18
2014-04-13libsyntax: update helper to stringify TyU* and TyI* to take into account ↵Kevin Butler-4/+2
having a value. Fixes #13359.
2014-04-12Check bounds when looking up type parametersEdward Wang-2/+3
A mismatched type with more type parameters than the expected one causes `typeck` looking up out of the bound of type parameter vector, which leads to ICE. Closes #13466
2014-04-11auto merge of #13236 : liigo/rust/rename-benchharness, r=huonwbors-10/+10
Closes #12640 based on PR #13030, rebased, and passed all tests.
2014-04-11rustc: fix fallout from removing ast::Sigil and use ty::TraitStore in ↵Eduard Burtescu-44/+18
ty::ClosureTy.
2014-04-11auto merge of #13424 : eddyb/rust/ty-mut-in-store, r=nikomatsakisbors-37/+40
Cleans up some remnants of the old mutability system and only allows vector/trait mutability in `VstoreSlice` (`&mut [T]`) and `RegionTraitStore` (`&mut Trait`).
2014-04-11libtest: rename `BenchHarness` to `Bencher`Liigo Zhuang-10/+10
Closes #12640
2014-04-11rustc: fix the fallout from moving mutability into VstoreSlice and ↵Eduard Burtescu-36/+39
RegionTraitStore.
2014-04-10auto merge of #13440 : huonw/rust/strbuf, r=alexcrichtonbors-7/+10
libstd: Implement `StrBuf`, a new string buffer type like `Vec`, and port all code over to use it. Rebased & tests-fixed version of https://github.com/mozilla/rust/pull/13269
2014-04-10Renamed ast::Purity to ast::FnStyle and ast::ImpureFn to ast::NormalFn and ↵Kasey Carrothers-10/+10
updated associated variable and function names.
2014-04-10rustc: Add a realpath utility functionAlex Crichton-0/+103
This is required in rustc to resolve symlinks for utilities such as the sysroot and the rpath values which are encoded into binaries.
2014-04-10rustc: rename ty::vstore and its variants to UpperCamelCase.Eduard Burtescu-9/+9
2014-04-10libstd: Implement `StrBuf`, a new string buffer type like `Vec`, andPatrick Walton-7/+10
port all code over to use it.
2014-04-08Register new snapshotsAlex Crichton-2/+2
2014-04-06rustc: remove ty_unboxed_vec.Eduard Burtescu-2/+1
2014-04-03syntax: Remove AbiSet, use one AbiAlex Crichton-9/+9
This change removes the AbiSet from the AST, converting all usage to have just one Abi value. The current scheme selects a relevant ABI given a list of ABIs based on the target architecture and how relevant each ABI is to that architecture. Instead of this mildly complicated scheme, only one ABI will be allowed in abi strings, and pseudo-abis will be created for special cases as necessary. For example the "system" abi exists for stdcall on win32 and C on win64. Closes #10049
2014-04-02util: ppaux: remove dead codeCorey Richardson-48/+0
2014-04-02util: common: remove dead codeCorey Richardson-20/+0
2014-03-31rustc: Switch field privacy as necessaryAlex Crichton-1/+1
2014-03-30Removed deprecated functions `map` and `flat_map` for vectors and slices.Marvin Löbel-4/+4
2014-03-28Convert most code to new inner attribute syntax.Brian Anderson-1/+1
Closes #2569
2014-03-28Rename Pod into CopyFlavio Percoco-2/+2
Summary: So far, we've used the term POD "Plain Old Data" to refer to types that can be safely copied. However, this term is not consistent with the other built-in bounds that use verbs instead. This patch renames the Pod kind into Copy. RFC: 0003-opt-in-builtin-traits Test Plan: make check Reviewers: cmr Differential Revision: http://phabricator.octayn.net/D3
2014-03-23use TotalEq for HashMapDaniel Micay-1/+1
Closes #5283
2014-03-22auto merge of #13076 : FlaPer87/rust/remove-freeze, r=alexcrichtonbors-2/+0
This PR removes the `Freeze` kind and the `NoFreeze` marker completely. Fixes #12577 cc @nikomatsakis r?
2014-03-22rustc: Fix fallout of removing get()Alex Crichton-3/+1
2014-03-22rustc: Remove special treatment for Freeze and NoFreezeFlavio Percoco-2/+0
Fixes #12577
2014-03-22Migrate all users of opt_vec to owned_slice, delete opt_vec.Huon Wilson-7/+3
syntax::opt_vec is now entirely unused, and so can go.
2014-03-20Register new snapshotsAlex Crichton-38/+0
2014-03-20Removing imports of std::vec_ng::VecAlex Crichton-4/+0
It's now in the prelude.
2014-03-20auto merge of #12686 : FlaPer87/rust/shared, r=nikomatsakisbors-0/+2
`Share` implies that all *reachable* content is *threadsafe*. Threadsafe is defined as "exposing no operation that permits a data race if multiple threads have access to a &T pointer simultaneously". (NB: the type system should guarantee that if you have access to memory via a &T pointer, the only other way to gain access to that memory is through another &T pointer)... Fixes #11781 cc #12577 What this PR will do ================ - [x] Add Share kind and - [x] Replace usages of Freeze with Share in bounds. - [x] Add Unsafe<T> #12577 - [x] Forbid taking the address of a immutable static item with `Unsafe<T>` interior What's left to do in a separate PR (after the snapshot)? =========================================== - Remove `Freeze` completely
2014-03-20Add a Share kindFlavio Percoco-0/+2
Fixes #11781
2014-03-20rename std::vec_ng -> std::vecDaniel Micay-4/+4
Closes #12771
2014-03-19auto merge of #12772 : thestinger/rust/slice, r=alexcrichtonbors-3/+3
Closes #12702
2014-03-20rename std::vec -> std::sliceDaniel Micay-3/+3
Closes #12702
2014-03-19rustc: put ty_closure behind some indirection.Huon Wilson-1/+1
This reduces the size of sty from 112 to 96; like with the ty_trait variant, this variant of sty occurs rarely (~1%) so the benefits are large and the costs small.
2014-03-19rustc: put ty_trait behind some indirection.Huon Wilson-1/+3
This reduces ty::sty from 160 bytes to just 112, and some measurements eddyb made suggest that the ty_trait variant occurs very rarely (e.g. ~1% of all sty instances) hence this will result in a large memory saving, and the cost of the indirection is unlikely to be an issue.
2014-03-17De-@ codemap and diagnostic.Eduard Burtescu-9/+8
2014-03-17De-@ ty::ctxt usage.Eduard Burtescu-82/+82
2014-03-13Implement automatic overloaded dereference.Eduard Burtescu-24/+23
Closes #7141.
2014-03-12Add proper support for early/late distinction for lifetime bindings.Felix S. Klock II-0/+12
Uses newly added Vec::partition method to simplify resolve_lifetime.
2014-03-12alpha-rename .ident to .name in Lifetime, including in rustdoc.Felix S. Klock II-8/+8
2014-03-12Alpha-rename `.ident` fields of type `Name` to `.name`.Felix S. Klock II-1/+1
2014-03-12Update users for the std::rand -> librand move.Huon Wilson-2/+4
2014-03-08librustc: Fix up fallout from the automatic conversion.Felix S. Klock II-12/+26
2014-03-08librustc: Automatically change uses of `~[T]` to `Vec<T>` in rustc.Patrick Walton-9/+8
2014-03-07change FVN hash function to the FVN-1a variantTed Horst-1/+1
2014-03-06syntax: Conditionally deriving(Hash) with WritersAlex Crichton-1/+48
If #[feature(default_type_parameters)] is enabled for a crate, then deriving(Hash) will expand with Hash<W: Writer> instead of Hash<SipState> so more hash algorithms can be used.
2014-03-06rustc: Move to FNV hashing for node/def idsAlex Crichton-0/+80
This leverages the new hashing framework and hashmap implementation to provide a much speedier hashing algorithm for node ids and def ids. The hash algorithm used is currentl FNV hashing, but it's quite easy to swap out. I originally implemented hashing as the identity function, but this actually ended up in slowing down rustc compiling libstd from 8s to 13s. I would suspect that this is a result of a large number of collisions. With FNV hashing, we get these timings (compiling with --no-trans, in seconds): | | before | after | |-----------|---------:|--------:| | libstd | 8.324 | 6.703 | | stdtest | 47.674 | 46.857 | | libsyntax | 9.918 | 8.400 |
2014-03-04Rename struct fields with uppercase characters in their names to use lowercasePalmer Cox-48/+48
2014-03-04Rename all variables that have uppercase characters in their names to use ↵Palmer Cox-4/+4
only lowercase characters