- 06 8月, 2015 1 次提交
-
-
由 Ariel Ben-Yehuda 提交于
-
- 28 7月, 2015 1 次提交
-
-
由 Alex Crichton 提交于
Many of these have long since reached their stage of being obsolete, so this commit starts the removal process for all of them. The unstable features that were deprecated are: * cmp_partial * fs_time * hash_default * int_slice * iter_min_max * iter_reset_fuse * iter_to_vec * map_in_place * move_from * owned_ascii_ext * page_size * read_and_zero * scan_state * slice_chars * slice_position_elem * subslice_offset
-
- 26 7月, 2015 1 次提交
-
-
由 Jared Roesch 提交于
-
- 17 7月, 2015 1 次提交
-
-
由 Alex Crichton 提交于
Turns out for OSX our data layout was subtly wrong and the LLVM update must have exposed this. Instead of fixing this I've removed all data layouts from the compiler to just use the defaults that LLVM provides for all targets. All data layouts (and a number of dead modules) are removed from the compiler here. Custom target specifications can still provide a custom data layout, but it is now an optional key as the default will be used if one isn't specified.
-
- 12 7月, 2015 1 次提交
-
-
由 Simonas Kazlauskas 提交于
-
- 11 7月, 2015 1 次提交
-
-
由 Alex Crichton 提交于
We have previously always relied upon an external tool, `ar`, to modify archives that the compiler produces (staticlibs, rlibs, etc). This approach, however, has a number of downsides: * Spawning a process is relatively expensive for small compilations * Encoding arguments across process boundaries often incurs unnecessary overhead or lossiness. For example `ar` has a tough time dealing with files that have the same name in archives, and the compiler copies many files around to ensure they can be passed to `ar` in a reasonable fashion. * Most `ar` programs found do **not** have the ability to target arbitrary platforms, so this is an extra tool which needs to be found/specified when cross compiling. The LLVM project has had a tool called `llvm-ar` for quite some time now, but it wasn't available in the standard LLVM libraries (it was just a standalone program). Recently, however, in LLVM 3.7, this functionality has been moved to a library and is now accessible by consumers of LLVM via the `writeArchive` function. This commit migrates our archive bindings to no longer invoke `ar` by default but instead make a library call to LLVM to do various operations. This solves all of the downsides listed above: * Archive management is now much faster, for example creating a "hello world" staticlib is now 6x faster (50ms => 8ms). Linking dynamic libraries also recently started requiring modification of rlibs, and linking a hello world dynamic library is now 2x faster. * The compiler is now one step closer to "hassle free" cross compilation because no external tool is needed for managing archives, LLVM does the right thing! This commit does not remove support for calling a system `ar` utility currently. We will continue to maintain compatibility with LLVM 3.5 and 3.6 looking forward (so the system LLVM can be used wherever possible), and in these cases we must shell out to a system utility. All nightly builds of Rust, however, will stop needing a system `ar`.
-
- 02 7月, 2015 1 次提交
-
-
由 Nick Cameron 提交于
Reports the resident set size after each pass (linux-only).
-
- 28 6月, 2015 1 次提交
-
-
由 Jared Roesch 提交于
This first patch starts by moving around pieces of state related to type checking. The goal is to slowly unify the type checking state into a single typing context. This initial patch moves the ParameterEnvironment into the InferCtxt and moves shared tables from Inherited and ty::ctxt into their own struct Tables. This is the foundational work to refactoring the type checker to enable future evolution of the language and tooling.
-
- 19 6月, 2015 1 次提交
-
-
由 Eduard Burtescu 提交于
-
- 18 6月, 2015 5 次提交
-
-
由 Alex Crichton 提交于
-
由 Alex Crichton 提交于
-
由 Alex Crichton 提交于
-
由 Alex Crichton 提交于
This commit also deprecates the `as_string` and `as_slice` free functions in the `string` and `vec` modules.
-
由 Alex Crichton 提交于
This commit shards the broad `core` feature of the libcore library into finer grained features. This split groups together similar APIs and enables tracking each API separately, giving a better sense of where each feature is within the stabilization process. A few minor APIs were deprecated along the way: * Iterator::reverse_in_place * marker::NoCopy
-
- 10 6月, 2015 1 次提交
-
-
由 Eduard Burtescu 提交于
-
- 29 5月, 2015 1 次提交
-
-
由 Niko Matsakis 提交于
-
- 27 5月, 2015 1 次提交
-
-
由 Eduard Burtescu 提交于
-
- 19 5月, 2015 1 次提交
-
-
由 Ariel Ben-Yehuda 提交于
This should hopefully fix all cast-related ICEs once and for all. I managed to make diagnostics hate me and give me spurious "decoder error" - removing $build/tmp/extended-errors seems to fix it.
-
- 16 5月, 2015 1 次提交
-
-
由 Alex Crichton 提交于
Helps prevent mixed content warnings if accessing docs over HTTPS. Closes #25459
-
- 14 5月, 2015 1 次提交
-
-
由 Alex Crichton 提交于
This commit is an implementation of [RFC 1040][rfc] which is a redesign of the currently-unstable `Duration` type. The API of the type has been scaled back to be more conservative and it also no longer supports negative durations. [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1040-duration-reform.md The inner `duration` module of the `time` module has now been hidden (as `Duration` is reexported) and the feature name for this type has changed from `std_misc` to `duration`. All APIs accepting durations have also been audited to take a more flavorful feature name instead of `std_misc`. Closes #24874
-
- 06 5月, 2015 1 次提交
-
-
由 Alex Crichton 提交于
Turns out that a verbatim path was leaking through to gcc via the PATH environment variable (pointing to the bundled gcc provided by the main distribution) which was wreaking havoc when gcc itself was run. The fix here is to just stop passing verbatim paths down by adding more liberal uses of `fix_windows_verbatim_for_gcc`. Closes #25072
-
- 30 4月, 2015 1 次提交
-
-
由 Michael Sproul 提交于
Diagnostic errors are now checked for uniqueness across the compiler and error metadata is written to JSON files.
-
- 29 4月, 2015 2 次提交
-
-
由 Tamir Duberstein 提交于
-
由 Tamir Duberstein 提交于
-
- 28 4月, 2015 1 次提交
-
-
由 Alex Crichton 提交于
This commit is an implementation of [RFC 1044][rfc] which adds additional surface area to the `std::fs` module. All new APIs are `#[unstable]` behind assorted feature names for each one. [rfc]: https://github.com/rust-lang/rfcs/pull/1044 The new APIs added are: * `fs::canonicalize` - bindings to `realpath` on unix and `GetFinalPathNameByHandle` on windows. * `fs::symlink_metadata` - similar to `lstat` on unix * `fs::FileType` and accessor methods as `is_{file,dir,symlink}` * `fs::Metadata::file_type` - accessor for the raw file type * `fs::DirEntry::metadata` - acquisition of metadata which is free on Windows but requires a syscall on unix. * `fs::DirEntry::file_type` - access the file type which may not require a syscall on most platforms. * `fs::DirEntry::file_name` - access just the file name without leading components. * `fs::PathExt::symlink_metadata` - convenience method for the top-level function. * `fs::PathExt::canonicalize` - convenience method for the top-level function. * `fs::PathExt::read_link` - convenience method for the top-level function. * `fs::PathExt::read_dir` - convenience method for the top-level function. * `std::os::raw` - type definitions for raw OS/C types available on all platforms. * `std::os::$platform` - new modules have been added for all currently supported platforms (e.g. those more specific than just `unix`). * `std::os::$platform::raw` - platform-specific type definitions. These modules are populated with the bare essentials necessary for lowing I/O types into their raw representations, and currently largely consist of the `stat` definition for unix platforms. This commit also deprecates `Metadata::{modified, accessed}` in favor of inspecting the raw representations via the lowering methods of `Metadata`.
-
- 22 4月, 2015 2 次提交
-
-
由 kwantam 提交于
For now, words() is left in (but deprecated), and Words is a type alias for struct SplitWhitespace. Also cleaned up references to s.words() throughout codebase. Closes #15628
-
由 Alex Crichton 提交于
This commit removes all the old casting/generic traits from `std::num` that are no longer in use by the standard library. This additionally removes the old `strconv` module which has not seen much use in quite a long time. All generic functionality has been supplanted with traits in the `num` crate and the `strconv` module is supplanted with the [rust-strconv crate][rust-strconv]. [rust-strconv]: https://github.com/lifthrasiir/rust-strconv This is a breaking change due to the removal of these deprecated crates, and the alternative crates are listed above. [breaking-change]
-
- 18 4月, 2015 1 次提交
-
-
由 Niko Matsakis 提交于
table, introduce a `FreeRegionMap` data structure. regionck computes the `FreeRegionMap` for each fn and stores the result into the tcx so that borrowck can use it (this could perhaps be refactored to have borrowck recompute the map, but it's a bid tedious to recompute due to the interaction of closures and free fns). The main reason to do this is because of #22779 -- using a global table was incorrect because when validating impl method signatures, we want to use the free region relationships from the *trait*, not the impl. Fixes #22779.
-
- 17 4月, 2015 3 次提交
-
-
由 Niko Matsakis 提交于
older `each` method, but is otherwise identical.
-
由 Niko Matsakis 提交于
interface since in practice no delegates had any state.
-
由 Niko Matsakis 提交于
-
- 01 4月, 2015 2 次提交
-
-
由 Alex Crichton 提交于
-
由 Aaron Turon 提交于
* Marks `#[stable]` the contents of the `std::convert` module. * Added methods `PathBuf::as_path`, `OsString::as_os_str`, `String::as_str`, `Vec::{as_slice, as_mut_slice}`. * Deprecates `OsStr::from_str` in favor of a new, stable, and more general `OsStr::new`. * Adds unstable methods `OsString::from_bytes` and `OsStr::{to_bytes, to_cstring}` for ergonomic FFI usage. [breaking-change]
-
- 31 3月, 2015 2 次提交
-
-
由 Niko Matsakis 提交于
trait matching more tailored. We now detect recursion where the obligations "match" -- meaning basically that they are the same for some substitution of any unbound type variables.
-
由 Niko Matsakis 提交于
-
- 28 3月, 2015 3 次提交
-
-
由 Alex Crichton 提交于
-
由 Brian Anderson 提交于
Until some backwards-compatibility hazards are fixed in #23121, these need to be unstable. [breaking-change]
-
由 Richo Healey 提交于
-
- 27 3月, 2015 2 次提交
-
-
由 Nick Cameron 提交于
-
由 Alex Crichton 提交于
Now that support has been removed, all lingering use cases are renamed.
-