1. 30 1月, 2017 1 次提交
  2. 17 1月, 2017 3 次提交
    • B
      Auto merge of #39094 - nagisa:i128-fix-endianness, r=eddyb · 45b273af
      bors 提交于
      (Shot at) Fix endian bugs in i128 intrinsic impls
      
      Attempt to fix the endianness issues on big-endian machines such as power pc. Could not test if it actually makes stuff work on the powerpc, because setting up cross-compiler for ppc seems to be nigh-impossible on arch.
      45b273af
    • B
      Auto merge of #39102 - alexcrichton:netbsd-mirror, r=alexcrichton · 2d0baa71
      bors 提交于
      travis: Mirror some NetBSD artifacts
      
      This mirrors a few artifacts that have been flaky to download recently
      on our own S3 bucket, which has historically been more reliable.
      
      Closes #39097
      2d0baa71
    • A
      travis: Mirror some NetBSD artifacts · 00d51ee8
      Alex Crichton 提交于
      This mirrors a few artifacts that have been flaky to download recently
      on our own S3 bucket, which has historically been more reliable.
      
      Closes #39097
      00d51ee8
  3. 16 1月, 2017 10 次提交
    • B
      Auto merge of #39076 - ollie27:rustdoc_stab_prim, r=GuillaumeGomez · 47410b23
      bors 提交于
      rustdoc: Give primitive types stability attributes
      
      This is especially important for i128/u128 to make it clear they are
      unstable in the docs.
      47410b23
    • B
      Auto merge of #39072 - radix:patch-1, r=GuillaumeGomez · 11ad6fe5
      bors 提交于
      Minor improvement to strange grammar in E0525
      
      Hi, I just ran into this error from rustc, and it had some strange grammar, so I cleaned it up a bit.
      11ad6fe5
    • S
      Fix endian bugs in i128 intrinsic impls · c032bbf9
      Simonas Kazlauskas 提交于
      c032bbf9
    • B
      Auto merge of #39071 - est31:master, r=GuillaumeGomez · 14bfdfdf
      bors 提交于
      Mark safe_suggestion and pushpop_unsafe as removed in feature_gate.rs
      
      This removes two features from feature_gate.rs: `safe_suggestion` and `pushpop_unsafe`. Both had been removed in other places already, but were forgotten to be removed from feature_gate.rs.
      
      * `safe_suggestion` was added in commit 164f0105 and then removed again in commit c11fe553 both in the same PR #38099.
      
      * `pushpop_unsafe` was added in commit 1829fa51 and removed again in commit d399098f
      
      Removes two elements from the whitelist of non gate tested unstable lang features (issue #39059).
      14bfdfdf
    • B
      Auto merge of #39069 - GuillaumeGomez:missing_blank_space, r=Manishearth · daf4c063
      bors 提交于
      Fix missing blank space issue
      
      r? @Manishearth
      daf4c063
    • B
      Auto merge of #38806 - comex:lint-attr-fix, r=nrc · 3dcb2884
      bors 提交于
      Fix lint attributes on non-item nodes.
      
      Currently, late lint checking uses two HIR visitors: LateContext and
      IdVisitor.  IdVisitor only overrides visit_id, and for each node searches
      for builtin lints previously added to the session; LateContext overrides
      a number of methods, and runs late lints.  When LateContext encounters an
      item, it first has IdVisitor walk everything in it except nested items
      (OnlyBodies), then recurses into it itself - i.e. there are two separate
      walks.
      
      Aside from apparently being unnecessary, this separation prevents lint
      attributes (allow/deny/warn) on non-item HIR nodes from working
      properly.  Test case:
      
      ```rust
      // generates warning without this change
      fn main() { #[allow(unreachable_code)] loop { break; break; } }
      ```
      
      LateContext contains logic to merge attributes seen into the current lint
      settings while walking (with_lint_attrs), but IdVisitor does not.  So
      such attributes will affect late lints (because they are called from
      LateContext), and if the node contains any items within it, they will
      affect builtin lints within those items (because that IdVisitor is run
      while LateContext is within the attributed node), but otherwise the
      attributes will be ignored for builtin lints.
      
      This change simply removes IdVisitor and moves its visit_id into
      LateContext itself.  Hopefully this doesn't break anything...
      
      Also added walk calls to visit_lifetime and visit_lifetime_def
      respectively, so visit_lifetime_def will recurse into the lifetime and
      visit_lifetime will recurse into the name.  In principle this could
      confuse lint plugins.  This is "necessary" because walk_lifetime calls
      visit_id on the lifetime; of course, an alternative would be directly
      calling visit_id (which would require manually iterating over the
      lifetimes in visit_lifetime_def), but that seems less clean.
      3dcb2884
    • B
      Auto merge of #39042 - alexcrichton:upload-more, r=brson · ff591b6d
      bors 提交于
      travis: Expand dist builder coverage
      
      This commit adds six new travis matrix entires for doing cross-compiled
      distribution builds of the compiler. The support added in #38731 allows us to
      quickly compile a complete suite of distribution artifacts for cross-compiled
      platforms, and currently each matrix entry (when fully cached) clocks in around
      an hour to finish. Note that a full test run typically takes about two hours
      right now.
      
      With further optimizations coming down the pike in #39026 this commit also
      starts doubling up cross-compiled distribution builders on each matrix entry. We
      initially planned to do one build per entry, but it's looking like we may be
      able to get by with more than one in each entry. Depending on how long these
      builds take we may even be able to up it to three, but we'll start with two
      first.
      
      This commit then completes the suite of cross-compiled compilers that we're
      going to compile, adding it for a whole litany of platforms detailed in the
      changes to the docker files here. The existing `cross` image is also trimmed
      down quite a bit to avoid duplicate work, and we'll eventually provision it for
      far more cross compilation as well.
      
      Note that the gcc toolchains installed to compile most of these compilers are
      inappropriate for actualy distribution. The glibc they pull in is much newer
      than we'd like, so before we turn nightlies off we'll need to tweak these docker
      files to custom build toolchains like the current `linux-cross` docker image
      does.
      ff591b6d
    • B
      Auto merge of #38610 - djzin:master, r=sfackler · 0ef85a6b
      bors 提交于
      Implementation of plan in issue #27787 for btree_range
      
      Still some ergonomics to be worked on, the ::<str,_> is particularly unsightly
      0ef85a6b
    • A
      travis: Expand dist builder coverage · a6d88b02
      Alex Crichton 提交于
      This commit adds six new travis matrix entires for doing cross-compiled
      distribution builds of the compiler. The support added in #38731 allows us to
      quickly compile a complete suite of distribution artifacts for cross-compiled
      platforms, and currently each matrix entry (when fully cached) clocks in around
      an hour to finish. Note that a full test run typically takes about two hours
      right now.
      
      With further optimizations coming down the pike in #39026 this commit also
      starts doubling up cross-compiled distribution builders on each matrix entry. We
      initially planned to do one build per entry, but it's looking like we may be
      able to get by with more than one in each entry. Depending on how long these
      builds take we may even be able to up it to three, but we'll start with two
      first.
      
      This commit then completes the suite of cross-compiled compilers that we're
      going to compile, adding it for a whole litany of platforms detailed in the
      changes to the docker files here. The existing `cross` image is also trimmed
      down quite a bit to avoid duplicate work, and we'll eventually provision it for
      far more cross compilation as well.
      
      Note that the gcc toolchains installed to compile most of these compilers are
      inappropriate for actualy distribution. The glibc they pull in is much newer
      than we'd like, so before we turn nightlies off we'll need to tweak these docker
      files to custom build toolchains like the current `linux-cross` docker image
      does.
      a6d88b02
    • G
      Fix missing blank space issue · b7678808
      Guillaume Gomez 提交于
      b7678808
  4. 15 1月, 2017 26 次提交
    • B
      Auto merge of #39063 - ruuda:covered-switch, r=alexcrichton · c21f73e2
      bors 提交于
      Fix covered-switch-default warnings in RustWrapper
      
      These switch statements cover all possible values, so the default case is dead code (it contains an `llvm_unreachable anyway`), triggering a `-Wcovered-switch-default` warning that pollutes the build output. Moving the unreachable after the switch resolves these warnings.
      
      r? @rkruppe
      c21f73e2
    • B
      Auto merge of #39055 - aidanhs:aphs-deinit-before-init, r=alexcrichton · 20ba64d2
      bors 提交于
      If submodule init fails, try from scratch
      
      See #39051
      
      I wonder if the cause could be some strange not-quite-checked-out state in a submodule. Try and fix this by force deinitialising everything before initialising (this will not throw away downloaded objects, git will skip them on the next attempt at cloning).
      
      r? @alexcrichton
      20ba64d2
    • B
      Auto merge of #39052 - alexcrichton:fix-rebuild, r=brson · 7a526ca0
      bors 提交于
      rustbuild: Skip the build_helper crate in tests
      
      I've been noticing some spurious recompiles of the final stage on Travis lately
      and in debugging them I found a case where we were a little to eager to update
      a stamp file due to the build_helper library being introduced during the testing
      phase.
      
      Part of the rustbuild system detects when libstd is recompiled and automatically
      cleans out future directories to ensure that dirtyness propagation works. To do
      this rustbuild doesn't know the artifact name of the standard library so it just
      probes everything in the target directory, looking to see if anything changed.
      
      The problem here happened where:
      
      * First, rustbuild would compile everything (a normal build)
      * Next, rustbuild would run all tests
      * During testing, the libbuild_helper library was introduced into the target
        directory, making it look like a change happened because a file is newer
        than the newest was before
      * Detecting a change, the next compilation would then cause rustbuild to clean
        out old artifacts and recompile everything again.
      
      This commit fixes this problem by correcting rustbuild to just not test the
      build_helper crate at all. This crate doesn't have any unit tests, nor is it
      intended to. That way the target directories should stay the same throughout
      testing after a previous build.
      7a526ca0
    • O
      rustdoc: Give primitive types stability attributes · f48f3d75
      Oliver Middleton 提交于
      This is especially important for i128/u128 to make it clear they are
      unstable in the docs.
      f48f3d75
    • B
      Auto merge of #39045 - redox-os:process_try_wait, r=brson · d274e554
      bors 提交于
      Add try_wait to Redox process
      
      This implements Process::try_wait on Redox
      d274e554
    • B
      Auto merge of #39040 - estebank:relevant-impl-multiline, r=nikomatsakis · 4f0508af
      bors 提交于
      Use multiline Diagnostic for "relevant impl" list
      
      Provide the following output:
      
      ```
      error[E0277]: the trait bound `Bar: Foo<usize>` is not satisfied
        --> $DIR/issue-21659-show-relevant-trait-impls-2.rs:38:8
         |
      38 |     f1.foo(1usize);
         |        ^^^ the trait `Foo<usize>` is not implemented for `Bar`
         |
         = help: the following implementations were found:
                   <Bar as Foo<i8>>
                   <Bar as Foo<i16>>
                   <Bar as Foo<i32>>
                   <Bar as Foo<u8>>
                 and 2 others
      
      error: aborting due to previous error
      ```
      
      instead of
      
      ```
      error[E0277]: the trait bound `Bar: Foo<usize>` is not satisfied
        --> $DIR/issue-21659-show-relevant-trait-impls-2.rs:38:8
         |
      38 |     f1.foo(1usize);
         |        ^^^ the trait `Foo<usize>` is not implemented for `Bar`
         |
         = help: the following implementations were found:
         = help:   <Bar as Foo<i8>>
         = help:   <Bar as Foo<i16>>
         = help:   <Bar as Foo<i32>>
         = help:   <Bar as Foo<u8>>
         = help: and 2 others
      
      error: aborting due to previous error
      ```
      4f0508af
    • C
      "where it didn't" -> "but didn't" · ac321a79
      Christopher Armstrong 提交于
      ac321a79
    • E
      Mark the pushpop_unsafe feature as "removed" · 7821ea83
      est31 提交于
      This marks the pushpop_unsafe feature as removed inside the feature_gate.
      It was added in commit 1829fa51 and then
      removed again in commit d399098f .
      Seems that the second commit forgot to mark it as removed in feature_gate.rs.
      
      This enables us to remove another element from the whitelist of non gate
      tested unstable lang features (issue #39059).
      7821ea83
    • E
      Remove the safe_suggestion feature · 530b5c86
      est31 提交于
      This removes the safe_suggestion feature from feature_gate.rs.
      It was added in commit 164f0105
      and then removed again in commit c11fe553 .
      
      As the removal was in the same PR #38099 as the addition, we don't move it to
      the "removed" section.
      
      Removes an element from the whitelist of non gate tested unstable lang features (issue #39059).
      530b5c86
    • C
      69520ce0
    • B
      Auto merge of #39026 - alexcrichton:more-less-cross-stage0, r=aturon · bf6d7b66
      bors 提交于
      rustbuild: Actually don't build stage0 target rustc
      
      This was attempted in #38853 but erroneously forgot one more case of where the
      compiler was compiled. This commit fixes that up and adds a test to ensure this
      doesn't sneak back in.
      bf6d7b66
    • C
      Merge branch 'master' into lint-attr-fix · 9cfb8b73
      comex 提交于
      9cfb8b73
    • B
      Auto merge of #39020 - michaelwoerister:dep-graph-dfs-caching, r=nikomatsakis · ebe9682a
      bors 提交于
      incr.comp.: Add some caching to Predecessors construction.
      
      This speeds up the "serialize dep graph" pass for libsyntax from 45 secs to 15 secs on my machine. Still far from ideal, but things will get better when we change the metadata hashing strategy.
      
      The `CACHING_THRESHOLD` value of 60 has been arrived at experimentally. It seemed to give the best speedup.
      
      r? @nikomatsakis
      ebe9682a
    • B
      Auto merge of #38992 - nagisa:i128-minvallit, r=eddyb · 93e70ecb
      bors 提交于
      Fix two const-eval issues related to i128 negation
      
      First issue here was the fact that we’d only allow negating integers in i64 range in case the
      integer was not infered yes. While this is not the direct cause of the issue, its still good to fix
      it.
      
      The real issue here is the code handling specifically the `min_value` literals. While I128_OVERFLOW
      has the expected value (0x8000_..._0000), match using this value as a pattern is handled
      incorrectly by the stage1 compiler (it seems to be handled correctly, by the stage2 compiler). So
      what we do here is extract this pattern into an explicit `==` until the next snapshot.
      
      Fixes #38987
      93e70ecb
    • D
      add required imports & feature · bd04c30d
      Djzin 提交于
      bd04c30d
    • B
      Auto merge of #38982 - clarcharr:expect_err, r=aturon · 2f9dedb5
      bors 提交于
      expect_err for Result.
      
      This adds an `expect_err` method to `Result`. Considering how `unwrap_err` already exists, this seems to make sense. Inconsistency noted in Manishearth/rust-clippy#1435.
      2f9dedb5
    • D
      update array_vec to use new rangeargument · 93e6c26d
      djzin 提交于
      93e6c26d
    • D
      update docs with new syntax · 4920721f
      djzin 提交于
      4920721f
    • D
      update docs with new syntax · 60bab567
      djzin 提交于
      60bab567
    • D
      fix warnings in doctests · b64df0b0
      djzin 提交于
      b64df0b0
    • D
      shorten range syntax · b9956d4b
      djzin 提交于
      b9956d4b
    • D
      make rangeargument methods non-default; simplify impl · 58e597e1
      djzin 提交于
      58e597e1
    • D
      simplify some ranges · 54a3487f
      djzin 提交于
      54a3487f
    • D
      fix failing test · bc6f80b3
      djzin 提交于
      bc6f80b3
    • D
      add type annotations to doctest · caf4164a
      djzin 提交于
      caf4164a
    • D
      add test for range_mut · 2979b0ff
      djzin 提交于
      2979b0ff