1. 08 10月, 2018 6 次提交
  2. 07 10月, 2018 8 次提交
    • B
      Auto merge of #54835 - oli-obk:mögen_konstante_funktionen_doch_bitte_endlich_stabil_sein, r=Centril · 0ee045ea
      bors 提交于
      Stabilize `min_const_fn`
      
      tracking issue: #53555
      
      r? @Centril
      0ee045ea
    • C
    • B
      Auto merge of #54813 - petrochenkov:uilocale, r=alexcrichton · 5a6f1221
      bors 提交于
      Fix two UI tests with locale-dependent output
      
      Closes https://github.com/rust-lang/rust/issues/54719
      5a6f1221
    • B
      Auto merge of #54823 - euclio:needs-test, r=alexcrichton · 987a50ba
      bors 提交于
      Add tests for some E-needstest issues
      
      Fixes #28134.
      Fixes #24338.
      Fixes #29743.
      987a50ba
    • B
      Auto merge of #54451 - alexcrichton:no-mangle-extern-linkage, r=michaelwoerister · 13429136
      bors 提交于
      rustc: Allow `#[no_mangle]` anywhere in a crate
      
      This commit updates the compiler to allow the `#[no_mangle]` (and
      `#[export_name]` attributes) to be located anywhere within a crate.
      These attributes are unconditionally processed, causing the compiler to
      always generate an exported symbol with the appropriate name.
      
      After some discussion on #54135 it was found that not a great reason
      this hasn't been allowed already, and it seems to match the behavior
      that many expect! Previously the compiler would only export a
      `#[no_mangle]` symbol if it were *publicly reachable*, meaning that it
      itself is `pub` and it's otherwise publicly reachable from the root of
      the crate. This new definition is that `#[no_mangle]` *is always
      reachable*, no matter where it is in a crate or whether it has `pub` or
      not.
      
      This should make it much easier to declare an exported symbol with a
      known and unique name, even when it's an internal implementation detail
      of the crate itself. Note that these symbols will persist beyond LTO as
      well, always making their way to the linker.
      
      Along the way this commit removes the `private_no_mangle_functions` lint
      (also for statics) as there's no longer any need to lint these
      situations. Furthermore a good number of tests were updated now that
      symbol visibility has been changed.
      
      Closes #54135
      13429136
    • B
      Auto merge of #54782 - pnkfelix:issue-54556-semi-on-tail-diagnostic, r=nikomatsakis · dbecb7a6
      bors 提交于
      NLL: temps in block tail expression diagnostic
      
      This change adds a diagnostic that explains when temporaries in a block tail expression live longer than block local variables that they borrow, and attempts to suggest turning the tail expresion into a statement (either by adding a semicolon at the end, when its result value is clearly unused, or by introducing a `let`-binding for the result value and then returning that).
      
      Fix #54556
      dbecb7a6
    • A
      rustc: Allow `#[no_mangle]` anywhere in a crate · d7d70453
      Alex Crichton 提交于
      This commit updates the compiler to allow the `#[no_mangle]` (and
      `#[export_name]` attributes) to be located anywhere within a crate.
      These attributes are unconditionally processed, causing the compiler to
      always generate an exported symbol with the appropriate name.
      
      After some discussion on #54135 it was found that not a great reason
      this hasn't been allowed already, and it seems to match the behavior
      that many expect! Previously the compiler would only export a
      `#[no_mangle]` symbol if it were *publicly reachable*, meaning that it
      itself is `pub` and it's otherwise publicly reachable from the root of
      the crate. This new definition is that `#[no_mangle]` *is always
      reachable*, no matter where it is in a crate or whether it has `pub` or
      not.
      
      This should make it much easier to declare an exported symbol with a
      known and unique name, even when it's an internal implementation detail
      of the crate itself. Note that these symbols will persist beyond LTO as
      well, always making their way to the linker.
      
      Along the way this commit removes the `private_no_mangle_functions` lint
      (also for statics) as there's no longer any need to lint these
      situations. Furthermore a good number of tests were updated now that
      symbol visibility has been changed.
      
      Closes #54135
      d7d70453
    • B
      Auto merge of #54756 - ljedrz:cleanup_middle, r=michaelwoerister · 4efdc04a
      bors 提交于
      Cleanup rustc/middle
      
      - improve allocations
      - use `Cow<'static, str>` where applicable
      - improve some patterns
      - whitespace & formatting fixes
      4efdc04a
  3. 06 10月, 2018 26 次提交