Commit Graph

44474 Commits

Author SHA1 Message Date
Alexis Beingessner
5f02de3c22 clarify casts are checked at compile time 2015-07-20 15:50:47 -07:00
Alexis Beingessner
14bc454770 remove redundant explanation 2015-07-20 15:36:50 -07:00
Alexis Beingessner
06ded9c04e explain phantom 2015-07-20 15:35:33 -07:00
Alexis Beingessner
0a36ea7db1 get into the weeds over GEP and allocations 2015-07-20 15:32:52 -07:00
Alexis Beingessner
7a47ffcbc7 UB is src bzns 2015-07-20 11:37:15 -07:00
Alexis Beingessner
99043dde9d mention void pointers 2015-07-20 11:36:26 -07:00
Alexis Beingessner
5f6e0abe27 clean up vec chapter of tarpl 2015-07-20 11:31:29 -07:00
Alexis Beingessner
42c2f107c1 flesh out void types 2015-07-20 11:02:45 -07:00
Alexis Beingessner
94a89e561a some conversions cleanup 2015-07-19 21:43:17 -07:00
Alexis Beingessner
13b2605ed9 fixup and cool example for checked-uninit 2015-07-19 20:48:51 -07:00
Alexis Beingessner
c97673c7b0 fix up lifetimes 2015-07-18 11:44:41 -07:00
Alexis Beingessner
b79d279418 fix typo 2015-07-18 09:10:01 -07:00
Alexis Beingessner
fc2d29450e no really I deleted you 2015-07-17 22:20:44 -07:00
Alexis Beingessner
eba459a5c2 shard out misc section on lifetimes properly 2015-07-17 22:20:11 -07:00
Alexis Beingessner
d1b899e57a update subtyping to be a bit clearer about reference variance 2015-07-17 11:46:02 -07:00
Alexis Beingessner
c5a1b87c6f properly remove moved text 2015-07-14 17:59:28 -07:00
Alexis Beingessner
700895fdd7 split out vec-zsts correctly 2015-07-14 14:41:53 -07:00
Alexis Beingessner
7aee8448ea fix all the doc tests 2015-07-14 11:07:00 -07:00
Alexis Beingessner
58f6f2d57a nits and realigning 2015-07-14 09:56:10 -07:00
Alexis Beingessner
dba548d363 fix via mdinger 2015-07-14 00:26:08 -07:00
Alexis Beingessner
04578f6611 update build to make tarpl 2015-07-13 23:31:52 -07:00
Alexis Beingessner
e2b5f4fac4 move everything into the Rust tree 2015-07-13 23:16:33 -07:00
Alexis Beingessner
a54e64b3c4 move everything to tarpl 2015-07-13 23:14:57 -07:00
Alexis Beingessner
c7919f2d98 remove chaff 2015-07-13 23:13:56 -07:00
Alexis Beingessner
667afb8226 remove salsh 2015-07-13 22:37:03 -07:00
Alexis Beingessner
d96a518316 several fixups 2015-07-13 22:36:09 -07:00
Alexis Beingessner
d4268f9447 shard out and clean up unwinding 2015-07-13 22:09:44 -07:00
Alexis Beingessner
bdc62e009c fix definition 2015-07-13 21:37:19 -07:00
Alexis Beingessner
d66c67be78 clarify atomics 2015-07-13 17:49:58 -07:00
bors
dd46cf8b22 Auto merge of #26241 - SimonSapin:derefmut-for-string, r=alexcrichton
See https://github.com/rust-lang/rfcs/issues/1157
2015-07-13 23:47:06 +00:00
bors
72483f58e3 Auto merge of #27006 - ryanp-me:apple-llvm, r=brson
Since Apple LLVM no longer reports which version of LLVM it's based off (starting with 7.0.0), I believe it's time to start checking Apple LLVM versions directly.

The changes in this pull request update the `configure` script to check "Apple LLVM" versions independently if no "based off" version can be found. If a "based off" version is included, however, it will be preferred.

(This is a less hacky version of #26653)
2015-07-13 22:14:50 +00:00
Simon Sapin
3226858e50 Fix tests for changes in #26241. 2015-07-13 23:28:58 +02:00
bors
2533a85be4 Auto merge of #26993 - michaelwoerister:msvc-debuginfo, r=alexcrichton
This PR will enable RUSTC to generate PDB debuginfo files when targeting the MSVC toolchain. Mind that these are not full featured PDB files -- they just contain line tables, so you can get proper backtraces and step through your code, but variable values can't be inspected. We are just levering (LLVM's current support)[http://clang.llvm.org/docs/MSVCCompatibility.html] for creating Windows debuginfo. When LLVM's support gets better, we should benefit from that too without much effort.

I also wanted to include some kind of auto test with this PR but I could not get the `rmake` tests to work properly when targeting MSVC.

EDIT:
Closes #19533
2015-07-13 20:42:55 +00:00
Alexis Beingessner
cbc6408281 fix 2015-07-13 11:46:57 -07:00
bors
6800538489 Auto merge of #26984 - nham:errorck-ignore-long-diag, r=brson
Currently errorck yields bogus `duplicate error code` messages when an error code occurs inside of a long diagnostic message (see https://github.com/rust-lang/rust/pull/26982), because errorck just goes line by line checking for error codes and recording them all.

A simplistic approach to fixing this is just to detect the beginning of a long diagnostic raw string literal (`r##"`) and skip lines until the end of the raw string literal is encountered. I'm not completely confident in this approach, but I think a more robust approach would be more complicated and I wanted to get feedback before pursuing that.
2015-07-13 18:42:49 +00:00
Alexis Beingessner
62e827cfc7 rewrite intro 2015-07-13 11:12:16 -07:00
bors
0fbcebaaec Auto merge of #27001 - tsion:patch-2, r=Gankro 2015-07-13 16:31:05 +00:00
Simon Sapin
eb99f0e420 Mark some new things as unstable. 2015-07-13 16:21:43 +02:00
Simon Sapin
7469914e96 Add str::split_at_mut 2015-07-13 16:21:43 +02:00
Simon Sapin
f9005512a9 Implement IndexMut for String and str.
... matching the existing Index impls.
There is no reason not to if String implement DerefMut.

The code removed in `src/librustc/middle/effect.rs` was added in #9750
to prevent things like `s[0] = 0x80` where `s: String`,
but I belive became unnecessary when the Index(Mut) traits were introduced.
2015-07-13 16:21:43 +02:00
Simon Sapin
90d61d828f Add more tests for AsciiExt::is_ascii 2015-07-13 16:21:43 +02:00
Simon Sapin
304f545274 Add tests for AsciiExt::make_ascii_*case, including on String. 2015-07-13 16:21:43 +02:00
Simon Sapin
2d34a531f4 Implement DerefMut for String
`&mut str` is rarely useful, but it is for e.g.
`AsciiExt::make_ascii_lowercase`.
2015-07-13 16:21:43 +02:00
bors
9ff2d19c45 Auto merge of #27000 - alexcrichton:semi-after-type, r=cmr
This commit expands the follow set of the `ty` and `path` macro fragments to
include the semicolon token as well. A semicolon is already allowed after these
tokens, so it's currently a little too restrictive to not have a semicolon
allowed. For example:

    extern {
        fn foo() -> i32; // semicolon after type
    }

    fn main() {
        struct Foo;

        Foo; // semicolon after path
    }
2015-07-13 13:55:29 +00:00
bors
df39a92e22 Auto merge of #27011 - dotdash:issue-26996, r=luqmana
If we match a whole struct or tuple, the "field" for the reassignment
checker will be "None" which means that mutating any field should count
as a reassignment.

Fixes #26996.
2015-07-13 12:24:25 +00:00
Björn Steinbrink
043d7b5198 Correctly detect reassignments to the interior of matched structs/tuples
If we match a whole struct or tuple, the "field" for the reassignment
checker will be "None" which means that mutating any field should count
as a reassignment.

Fixes #26996.
2015-07-13 13:23:13 +02:00
bors
edf29a7102 Auto merge of #26999 - rick68:patch-13, r=Gankro
Reverse PR `#26944 `, symbol `#` are actually as intended.
2015-07-13 10:53:14 +00:00
bors
a16a4173c9 Auto merge of #26990 - rwz:patch-1, r=alexcrichton
The current example does not illustrate threaded behavior imo.
2015-07-13 09:15:12 +00:00
bors
5f552a5da5 Auto merge of #26981 - wthrowe:div_docs, r=Gankro
This resolves #26845.

I'm not entirely satisfied with the placement of the rounding discussion in the docs for the `Div` and `Rem` traits, but I couldn't come up with anywhere better to put it.  Suggestions are welcome.

I didn't add any discussion of rounding to the `checked_div` (or rem) or `wrapping_div` documentation because those seem to make it pretty clear that they do the same thing as `Div`.
2015-07-13 07:03:01 +00:00
Ryan Pendleton
7131e6f378 verify Apple LLVM versions independently, since the "based on LLVM" version is no longer reported 2015-07-13 00:33:36 -06:00