1. 14 4月, 2016 8 次提交
  2. 13 4月, 2016 9 次提交
    • M
      Fix obscure compilation error · de82fc4d
      Masood Malekghassemi 提交于
      de82fc4d
    • B
      Auto merge of #32828 - vadimcn:symlinks, r=alexcrichton · 525aa610
      bors 提交于
      Do not rely on file extensions after path canonicalization.
      
      Rustc does not recognize libraries which are symlinked to files having extension other than .rlib. The problem is that find_library_crate calls fs::canonicalize on found library paths, but then the resulting path is passed to get_metadata_section, which assumes it will end in ".rlib" if it's an rlib (from https://internals.rust-lang.org/t/is-library-path-canonicalization-worth-it/3206).
      
      cc #29433
      525aa610
    • B
      Auto merge of #32817 - jseyfried:warn_impl_param_defaults, r=nikomatsakis · 6136a862
      bors 提交于
      Warn for type parameter defaults on impl blocks
      
      Warn for type parameter defaults on impl blocks (fixes #31543).
      r? @nikomatsakis
      6136a862
    • B
      Auto merge of #32726 - asomers:master, r=alexcrichton · 7d4d3cb0
      bors 提交于
      Fix stack overflow detection on FreeBSD
      7d4d3cb0
    • B
      Auto merge of #32814 - jseyfried:improve_duplicate_glob_detection, r=nikomatsakis · 4b71f8d1
      bors 提交于
      resolve: Improve duplicate glob detection
      
      This fixes a bug introduced in #31726 in which we erroneously allow multiple imports of the same item under some circumstances.
      
      More specifically, we erroneously allow a module that is in a cycle of glob re-exports to have other re-exports (besides the glob from the cycle).
      For example,
      ```rust
      pub fn f() {}
      mod foo {
          pub use f; // (1) This defines `foo::f`.
          pub use bar::*; // (3) This also defines `foo::f`, which should be a duplicate error but is currently allowed.
      }
      mod bar {
          pub use foo::*; // (2) This defines `bar::f`.
      }
      ```
      
      A module in a glob re-export cycle can still have `pub` items after this PR. For example,
      ```rust
      mod foo {
          pub fn f() {}; // (1) This defines `foo::f`.
          pub use bar::*; // (3) This is not a duplicate error since items shadow glob-imported re-exports (cf #31337).
      }
      mod bar {
          pub use foo::*; // (2) This defines `bar::f`.
      }
      ```
      r? @nikomatsakis
      4b71f8d1
    • B
      Auto merge of #32803 - eddyb:mir-debuginfo, r=nikomatsakis · 7c27cce9
      bors 提交于
      Initial implementation of debuginfo in MIR trans.
      
      Progress is made towards #31005, but several issues remain, such as #32790.
      7c27cce9
    • B
      Auto merge of #32590 - alexcrichton:rustbuild-tidy-checks, r=brson · a43eb4e7
      bors 提交于
      rustbuild: Migrate tidy checks to Rust
      
      This commit rewrites all of the tidy checks we have, namely:
      
      * featureck
      * errorck
      * tidy
      * binaries
      
      into Rust under a new `tidy` tool inside of the `src/tools` directory. This at
      the same time deletes all the corresponding Python tidy checks so we can be sure
      to only have one source of truth for all the tidy checks.
      
      cc #31590
      a43eb4e7
    • A
      tidy: Add a check to ensure Cargo.toml is in sync · 7bfaeaaf
      Alex Crichton 提交于
      This verifies that the crates listed in the `[dependencies]` section of
      `Cargo.toml` are a subset of the crates listed in `lib.rs` for our in-tree
      crates. This should help ensure that when we refactor crates over time we keep
      these dependency lists in sync.
      7bfaeaaf
    • B
      Auto merge of #31963 - barosl:rename-doc, r=alexcrichton · a4f781e4
      bors 提交于
      Describe more platform-specific behaviors of `std::fs::rename`
      
      I did some tests myself regarding the situation when both `from` and `to` exist, and the results were:
      
      On Linux:
      
      `from` | `to` | Result
      ---- | ---- | ----
      Directory | Directory | Ok
      Directory | File | Error
      File | Directory | Error
      File | File | Ok
      
      On Windows:
      
      `from` | `to` | Result
      ---- | ---- | ----
      Directory | Directory | Error
      Directory | File | Ok
      File | Directory | Error
      File | File | Ok
      
      This is a bit against the official MSDN documentation, which says "(`MOVEFILE_REPLACE_EXISTING`) cannot be used if `lpNewFileName` or `lpExistingFileName` names a directory." As evidenced above, `lpExistingFileName` *can* be a directory.
      
      I also mentioned the atomicity of the operation.
      
      Fixes #31301.
      a4f781e4
  3. 12 4月, 2016 17 次提交
    • A
      rustbuild: Migrate tidy checks to Rust · 9dd3c54a
      Alex Crichton 提交于
      This commit rewrites all of the tidy checks we have, namely:
      
      * featureck
      * errorck
      * tidy
      * binaries
      
      into Rust under a new `tidy` tool inside of the `src/tools` directory. This at
      the same time deletes all the corresponding Python tidy checks so we can be sure
      to only have one source of truth for all the tidy checks.
      
      cc #31590
      9dd3c54a
    • B
      Auto merge of #32811 - alexcrichton:check-lints, r=nrc · 93300061
      bors 提交于
      rustdoc: Fix testing no_run code blocks
      
      This was a regression introduced by #31250 where the compiler deferred returning
      the results of compilation a little too late (after the `Stop` check was looked
      at). This commit alters the stop point to first try to return an erroneous
      `result` and only if it was successful return the sentinel `Err(0)`.
      
      Closes #31576
      93300061
    • B
      Auto merge of #32804 - alexcrichton:stabilize-1.9, r=brson · bed32d83
      bors 提交于
      std: Stabilize APIs for the 1.9 release
      
      This commit applies all stabilizations, renamings, and deprecations that the
      library team has decided on for the upcoming 1.9 release. All tracking issues
      have gone through a cycle-long "final comment period" and the specific APIs
      stabilized/deprecated are:
      
      Stable
      
      * `std::panic`
      * `std::panic::catch_unwind` (renamed from `recover`)
      * `std::panic::resume_unwind` (renamed from `propagate`)
      * `std::panic::AssertUnwindSafe` (renamed from `AssertRecoverSafe`)
      * `std::panic::UnwindSafe` (renamed from `RecoverSafe`)
      * `str::is_char_boundary`
      * `<*const T>::as_ref`
      * `<*mut T>::as_ref`
      * `<*mut T>::as_mut`
      * `AsciiExt::make_ascii_uppercase`
      * `AsciiExt::make_ascii_lowercase`
      * `char::decode_utf16`
      * `char::DecodeUtf16`
      * `char::DecodeUtf16Error`
      * `char::DecodeUtf16Error::unpaired_surrogate`
      * `BTreeSet::take`
      * `BTreeSet::replace`
      * `BTreeSet::get`
      * `HashSet::take`
      * `HashSet::replace`
      * `HashSet::get`
      * `OsString::with_capacity`
      * `OsString::clear`
      * `OsString::capacity`
      * `OsString::reserve`
      * `OsString::reserve_exact`
      * `OsStr::is_empty`
      * `OsStr::len`
      * `std::os::unix::thread`
      * `RawPthread`
      * `JoinHandleExt`
      * `JoinHandleExt::as_pthread_t`
      * `JoinHandleExt::into_pthread_t`
      * `HashSet::hasher`
      * `HashMap::hasher`
      * `CommandExt::exec`
      * `File::try_clone`
      * `SocketAddr::set_ip`
      * `SocketAddr::set_port`
      * `SocketAddrV4::set_ip`
      * `SocketAddrV4::set_port`
      * `SocketAddrV6::set_ip`
      * `SocketAddrV6::set_port`
      * `SocketAddrV6::set_flowinfo`
      * `SocketAddrV6::set_scope_id`
      * `<[T]>::copy_from_slice`
      * `ptr::read_volatile`
      * `ptr::write_volatile`
      * The `#[deprecated]` attribute
      * `OpenOptions::create_new`
      
      Deprecated
      
      * `std::raw::Slice` - use raw parts of `slice` module instead
      * `std::raw::Repr` - use raw parts of `slice` module instead
      * `str::char_range_at` - use slicing plus `chars()` plus `len_utf8`
      * `str::char_range_at_reverse` - use slicing plus `chars().rev()` plus `len_utf8`
      * `str::char_at` - use slicing plus `chars()`
      * `str::char_at_reverse` - use slicing plus `chars().rev()`
      * `str::slice_shift_char` - use `chars()` plus `Chars::as_str`
      * `CommandExt::session_leader` - use `before_exec` instead.
      
      Closes #27719
      cc #27751 (deprecating the `Slice` bits)
      Closes #27754
      Closes #27780
      Closes #27809
      Closes #27811
      Closes #27830
      Closes #28050
      Closes #29453
      Closes #29791
      Closes #29935
      Closes #30014
      Closes #30752
      Closes #31262
      cc #31398 (still need to deal with `before_exec`)
      Closes #31405
      Closes #31572
      Closes #31755
      Closes #31756
      bed32d83
    • B
      Describe more platform-specific behaviors of `std::fs::rename` · bcbc9e53
      Barosl Lee 提交于
      Fixes #31301.
      bcbc9e53
    • B
      Auto merge of #32711 - marcusklaas:try-shorthand-span-fix, r=nagisa · 28c9fdaf
      bors 提交于
      Fix the span for try shorthand expressions
      
      My five character contribution to the rust parser! Fixes https://github.com/rust-lang/rust/issues/32709.
      28c9fdaf
    • B
      Auto merge of #32882 - steveklabnik:rollup, r=steveklabnik · c0221c88
      bors 提交于
      Rollup of 9 pull requests
      
      - Successful merges: #32768, #32802, #32815, #32823, #32849, #32854, #32862, #32870, #32873
      - Failed merges:
      c0221c88
    • J
      Add regression test for #32797 (fixes #32797) · bc6daea2
      Jeffrey Seyfried 提交于
      bc6daea2
    • M
      Fix the span for try shorthand expressions · 05e4116a
      Marcus Klaas 提交于
      05e4116a
    • J
      Add comments · 3238b4bb
      Jeffrey Seyfried 提交于
      3238b4bb
    • E
      tests: update for MIR debuginfo. · 373b6ec9
      Eduard Burtescu 提交于
      373b6ec9
    • E
      trans: initial implementation of MIR debuginfo. · ce8d4a21
      Eduard Burtescu 提交于
      ce8d4a21
    • E
      mir: store the span of a scope in the ScopeData. · f680c623
      Eduard Burtescu 提交于
      f680c623
    • E
      4e6b1786
    • E
    • E
      35a6e6a0
    • E
      mir: print the scope and span for variables. · a563711b
      Eduard Burtescu 提交于
      a563711b
    • A
      rustdoc: Fix testing no_run code blocks · 42bcb404
      Alex Crichton 提交于
      This was a regression introduced by #31250 where the compiler deferred returning
      the results of compilation a little too late (after the `Stop` check was looked
      at). This commit alters the stop point to first try to return an erroneous
      `result` and only if it was successful return the sentinel `Err(0)`.
      
      Closes #31576
      42bcb404
  4. 11 4月, 2016 6 次提交
    • A
      std: Stabilize APIs for the 1.9 release · 552eda70
      Alex Crichton 提交于
      This commit applies all stabilizations, renamings, and deprecations that the
      library team has decided on for the upcoming 1.9 release. All tracking issues
      have gone through a cycle-long "final comment period" and the specific APIs
      stabilized/deprecated are:
      
      Stable
      
      * `std::panic`
      * `std::panic::catch_unwind` (renamed from `recover`)
      * `std::panic::resume_unwind` (renamed from `propagate`)
      * `std::panic::AssertUnwindSafe` (renamed from `AssertRecoverSafe`)
      * `std::panic::UnwindSafe` (renamed from `RecoverSafe`)
      * `str::is_char_boundary`
      * `<*const T>::as_ref`
      * `<*mut T>::as_ref`
      * `<*mut T>::as_mut`
      * `AsciiExt::make_ascii_uppercase`
      * `AsciiExt::make_ascii_lowercase`
      * `char::decode_utf16`
      * `char::DecodeUtf16`
      * `char::DecodeUtf16Error`
      * `char::DecodeUtf16Error::unpaired_surrogate`
      * `BTreeSet::take`
      * `BTreeSet::replace`
      * `BTreeSet::get`
      * `HashSet::take`
      * `HashSet::replace`
      * `HashSet::get`
      * `OsString::with_capacity`
      * `OsString::clear`
      * `OsString::capacity`
      * `OsString::reserve`
      * `OsString::reserve_exact`
      * `OsStr::is_empty`
      * `OsStr::len`
      * `std::os::unix::thread`
      * `RawPthread`
      * `JoinHandleExt`
      * `JoinHandleExt::as_pthread_t`
      * `JoinHandleExt::into_pthread_t`
      * `HashSet::hasher`
      * `HashMap::hasher`
      * `CommandExt::exec`
      * `File::try_clone`
      * `SocketAddr::set_ip`
      * `SocketAddr::set_port`
      * `SocketAddrV4::set_ip`
      * `SocketAddrV4::set_port`
      * `SocketAddrV6::set_ip`
      * `SocketAddrV6::set_port`
      * `SocketAddrV6::set_flowinfo`
      * `SocketAddrV6::set_scope_id`
      * `<[T]>::copy_from_slice`
      * `ptr::read_volatile`
      * `ptr::write_volatile`
      * The `#[deprecated]` attribute
      * `OpenOptions::create_new`
      
      Deprecated
      
      * `std::raw::Slice` - use raw parts of `slice` module instead
      * `std::raw::Repr` - use raw parts of `slice` module instead
      * `str::char_range_at` - use slicing plus `chars()` plus `len_utf8`
      * `str::char_range_at_reverse` - use slicing plus `chars().rev()` plus `len_utf8`
      * `str::char_at` - use slicing plus `chars()`
      * `str::char_at_reverse` - use slicing plus `chars().rev()`
      * `str::slice_shift_char` - use `chars()` plus `Chars::as_str`
      * `CommandExt::session_leader` - use `before_exec` instead.
      
      Closes #27719
      cc #27751 (deprecating the `Slice` bits)
      Closes #27754
      Closes #27780
      Closes #27809
      Closes #27811
      Closes #27830
      Closes #28050
      Closes #29453
      Closes #29791
      Closes #29935
      Closes #30014
      Closes #30752
      Closes #31262
      cc #31398 (still need to deal with `before_exec`)
      Closes #31405
      Closes #31572
      Closes #31755
      Closes #31756
      552eda70
    • S
      Rollup merge of #32873 - jethrogb:patch-2, r=steveklabnik · 55e90bbd
      Steve Klabnik 提交于
      Match signed/unsigned integer type docs
      
      * Copy documentation from signed implementation to unsigned implementation, where necessary.
      
      A few functions had elaborate docs in the signed version but not in the unsigned version. This probably happenned because the signed version is at the top and the author didn't realize they had to update the documentation in both locations.
      
      * Use signed integers in signed documentation, where possible.
      
      r? @steveklabnik
      55e90bbd
    • S
      Rollup merge of #32870 - jethrogb:patch-1, r=GuillaumeGomez · 24c5c277
      Steve Klabnik 提交于
      Fix Windows UNC paths in std::path docs
      24c5c277
    • S
      Rollup merge of #32862 - raphlinus:master, r=bluss · c5842837
      Steve Klabnik 提交于
      Bit-magic for faster is_char_boundary
      
      The asm generated for b < 128 || b >= 192 is not ideal, as it computes
      both sub-inequalities. This patch replaces it with bit magic.
      
      Fixes #32471
      c5842837
    • S
      Rollup merge of #32854 - GuillaumeGomez:result_doc, r=steveklabnik · 7ba7e02b
      Steve Klabnik 提交于
      Add some missing commas and missing titles/formatting
      
      Fixes #29373.
      
      r? @steveklabnik
      7ba7e02b
    • S
      Rollup merge of #32849 - jseyfried:import_resolution_diagnostics, r=eddyb · c9c85099
      Steve Klabnik 提交于
      resolve: import resolution diagnostics
      
      This improves the diagnostics for failing import resolutions (fixes #32833).
      r? @EddyB
      c9c85099