Skip to content

Rolling up PRs in the queue #20610

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 142 commits into from
Jan 6, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
4ee73a1
Changed LaTex $\bot$s to ⊥
th0114nd Dec 18, 2014
9f244dc
Minor fix for the Rust language FAQ
barosl Dec 13, 2014
739f74b
Make the line numbers of the source code clickable
barosl Dec 19, 2014
9554794
Add unstable_options method
sanxiyn Dec 27, 2014
d4da758
Use -Z unstable-options for span debugger
sanxiyn Dec 27, 2014
20fa7cb
Add header to optimizations section
steveklabnik Dec 15, 2014
cd85f0a
restore paragraph
steveklabnik Dec 15, 2014
98aeac2
Extend span debugger
sanxiyn Dec 27, 2014
5cf72ff
Parse arbitrary operators after expr-like macro invocations in statem…
ftxqxd Dec 21, 2014
3995797
Minor documentation edit.
SeanTAllen Jan 3, 2015
0536986
Minor documentation edit.
SeanTAllen Jan 3, 2015
a2c2cb9
rename std::sync::RWLock to RwLock
ville-h Jan 3, 2015
b2ab5d7
fix code and comments referencing RwLock
ville-h Jan 3, 2015
fedbde6
rename std::sync::StaticRWLock to StaticRwLock
ville-h Jan 4, 2015
144f4b8
Update influence list
brendanzab Nov 23, 2014
8cebb1f
Rename `raw_pointer_deriving` lint to `raw_pointer_derive`
csouth3 Jan 4, 2015
817f75d
fix code and comments referencing StaticRwLock
ville-h Jan 4, 2015
5344ae2
rename std::sync::RWLOCK_INIT to RW_LOCK_INIT
ville-h Jan 4, 2015
c3dcf9b
fix code and comments referencing RW_LOCK_INIT
ville-h Jan 4, 2015
2dcbdc1
rename std::sync::RWLockReadGuard to RwLockReadGuard
ville-h Jan 4, 2015
956cab6
fix code referencing RwLockReadGuard
ville-h Jan 4, 2015
98e6d12
rename std::sync::RWLockWriteGuard to RwLockWriteGuard
ville-h Jan 4, 2015
44b3dde
fix code referencing RwLockWriteGuard
ville-h Jan 4, 2015
fee1f2a
fix comment referencing RwLock
ville-h Jan 4, 2015
e723fe0
Do not use entropy during gen_weighted_bool(1)
nagisa Jan 4, 2015
9b820d0
Correct the subtyping relations created by the pattern typechecking
nikomatsakis Jan 4, 2015
a17a7c9
Miscellaneous reformatting and commenting.
nikomatsakis Jan 4, 2015
dbfa054
Cleanup type-checking of constants, but do not try to fix #20489.
nikomatsakis Jan 4, 2015
cc18053
bench: do not quit rt-messaging-ping-pong.rs early
tshepang Jan 5, 2015
c54932c
Fix the parsing of where-clauses for structs
jroesch Jan 2, 2015
bf6c007
Change `&` pat to only work with &T, and `&mut` with &mut T.
huonw Dec 5, 2014
09c4e8f
kate syntax highlight: update keyword list
bombless Jan 5, 2015
267b73d
std: Fixup some missing stabilization on str
alexcrichton Jan 5, 2015
177f8bc
std: Fix missing stability in sync
alexcrichton Jan 5, 2015
dc246ae
std: Fix missing stability on prelude
alexcrichton Jan 5, 2015
73019ac
Fix misleading name in AsciiExt docs
zsiciarz Jan 5, 2015
c02fac4
Refactor struct parsing and add tests
jroesch Jan 4, 2015
82a96a1
Ungate associated types.
huonw Jan 5, 2015
6795148
Ungate globs.
huonw Jan 5, 2015
6e3d78f
Ungate default type parameters.
huonw Jan 5, 2015
4016c72
Remove use of associated_types feature gate from tests.
huonw Jan 5, 2015
b98a589
Remove use of globs feature gate from tests.
huonw Jan 5, 2015
3e9d593
Remove uses of default_type_params feature gate from tests.
huonw Jan 5, 2015
2c44195
Make temporary directory names non-deterministic.
ltratt Jan 3, 2015
f677dee
Implement Clone for PRNGs
nagisa Dec 23, 2014
6ca1f0c
Add tests for ChaCha and Isaac Clone impls
nagisa Jan 3, 2015
156a1c3
Implement a few methods for RingBuf
pczarn Jan 5, 2015
c886894
Treat associated types the same as type parameters when it comes to r…
nikomatsakis Jan 3, 2015
05c5b5f
reverting other changes
andrewyli Jan 5, 2015
ec7a50d
std: Redesign c_str and c_vec
alexcrichton Nov 25, 2014
540a777
Don't ICE just because an impl is missing an associated type. Trust i…
nikomatsakis Jan 3, 2015
5caf847
Add a test for issue #18865. Fixes #18865.
nikomatsakis Jan 3, 2015
61bb6ac
remove unnecessary `Default` bound from `Hash{Map,Set}`'s `Extend` impl
apasel422 Jan 5, 2015
a56e7ae
Add lifetime elision information to the ownership guide.
steveklabnik Dec 11, 2014
5488ddb
Segmented stack support for DragonFly
mneumann Jan 3, 2015
66da36f
Ensure that LLVM is rebuilt with recent changes
mneumann Jan 5, 2015
faf07b1
Update reexports in vim syntax file
csouth3 Jan 5, 2015
40bd1c2
Put version number in beta channel artifacts
brson Jan 5, 2015
edbb7c3
0.13.0 -> 1.0.0
brson Jan 5, 2015
c548b87
Typo
brson Jan 5, 2015
d1cf1b1
Don't test codegen-units errors on stage1 (c.f. #20184)
kmcallister Jan 1, 2015
5e5924b
Replace LetSyntaxTT with MacroRulesTT
kmcallister Sep 15, 2014
ad7c647
Add a special macro nonterminal $crate
kmcallister Sep 16, 2014
e2a9c04
Allow leading :: in use items
kmcallister Dec 10, 2014
5382881
Implement macro re-export
kmcallister Sep 16, 2014
1c2fddc
Remove unused if_ok! macro
kmcallister Dec 10, 2014
4236c52
std: Move Atomic{Int,Uint} back to unstable
alexcrichton Jan 5, 2015
774588f
sed -i -s 's/ for Sized?//g' **/*.rs
Jan 5, 2015
c26f580
remove unused `Sized` imports
Jan 5, 2015
eb50d3e
undo one `for Sized?` removal that was in a comment
Jan 5, 2015
bbf7e4e
update comment to reflect new `Sized` semantics
Jan 5, 2015
4ed2800
syntax: obsolete the `for Sized?` syntax
Jan 5, 2015
73806dd
Use $crate and macro reexport to reduce duplicated code
kmcallister Sep 16, 2014
fc58479
Stop using macro_escape as an inner attribute
kmcallister Dec 19, 2014
5bf385b
Rename macro_escape to macro_use
kmcallister Dec 19, 2014
5171b32
creader: Convert free functions to Env methods
kmcallister Dec 21, 2014
24aa7f0
creader: Use a single struct
kmcallister Dec 21, 2014
677b7ca
Reformat metadata for exported macros
kmcallister Dec 31, 2014
cd4205a
tweak the obsolete syntax message
Jan 5, 2015
8733b8b
examples added for element access
andrewyli Jan 5, 2015
f7f5d09
removing whitespace
andrewyli Jan 5, 2015
64ec47c
Final alpha stabilization of core::iter
aturon Jan 4, 2015
e921afd
Stabilize core::ops
aturon Jan 4, 2015
121f6c6
Final alpha stabilization of std::slice
aturon Jan 4, 2015
cb765ce
Stabilize collection modules
aturon Jan 5, 2015
6e68fd0
Implement new orphan rule that requires that impls of remote traits m…
nikomatsakis Jan 5, 2015
c6f4a03
Stabilization of impls and fallout from stabilization
aturon Jan 5, 2015
f031671
Remove i suffix in docs
steveklabnik Jan 2, 2015
595a082
Remove the prefix in ObsoleteSyntax variants
nrc Jan 5, 2015
48f50e1
Obsolete `Sized? T`
nrc Jan 5, 2015
e0684e8
Fallout
nrc Jan 5, 2015
8f3a424
Fix the obsolete message
nrc Jan 6, 2015
f314e2c
creader: Load parts of plugin metadata on demand
kmcallister Jan 1, 2015
60be2f5
Replace #[phase] with #[plugin] / #[macro_use] / #[no_link]
kmcallister Jan 1, 2015
0816255
Move #[macro_reexport] to extern crate
kmcallister Jan 2, 2015
aa69cbd
Allow selective macro import
kmcallister Jan 2, 2015
c9f0ff3
Reserve the keyword 'macro'
kmcallister Jan 2, 2015
416137e
Modernize macro_rules! invocations
kmcallister Jan 2, 2015
d0163d3
Pass the #[plugin(...)] meta item to the registrar
kmcallister Jan 3, 2015
c2e2697
Un-gate macro_rules
kmcallister Jan 3, 2015
bbbb85a
Forbid '#[macro_use] extern crate' outside the crate root
kmcallister Jan 3, 2015
34b995d
Add a test case for accidental macro re-export
kmcallister Jan 3, 2015
78e841d
Update docs
kmcallister Jan 3, 2015
d46b8f1
rollup merge of #19235: bjz/reference
alexcrichton Jan 6, 2015
6f7faa0
rollup merge of #19736: steveklabnik/gh19662
alexcrichton Jan 6, 2015
199ebc7
rollup merge of #19888: steveklabnik/gh19861
alexcrichton Jan 6, 2015
b8e404f
rollup merge of #19998: th0114nd/unicode-bottom
alexcrichton Jan 6, 2015
e918a58
rollup merge of #20092: barosl/rustdoc-line-number-clickable
alexcrichton Jan 6, 2015
7f4f79c
rollup merge of #20099: P1start/parse-more-macro-ops
alexcrichton Jan 6, 2015
ba2b79c
rollup merge of #20197: pczarn/ring_buf-collections-reform
alexcrichton Jan 6, 2015
0dd0742
rollup merge of #20258: sanxiyn/show-span-2
alexcrichton Jan 6, 2015
3d9923d
rollup merge of #20424: jroesch/tuple-struct-where-clause-fix
alexcrichton Jan 6, 2015
059566b
rollup merge of #20434: steveklabnik/five_eye
alexcrichton Jan 6, 2015
88b4c8e
rollup merge of #20465: nikomatsakis/assoc-types-regions-20303
alexcrichton Jan 6, 2015
eee6a57
rollup merge of #20472: mneumann/llvm-dragonfly
alexcrichton Jan 6, 2015
38d81ba
rollup merge of #20478: SeanTAllen/master
alexcrichton Jan 6, 2015
ca40fe0
rollup merge of #20483: nagisa/rng-copy
alexcrichton Jan 6, 2015
743d926
rollup merge of #20488: ltratt/nondeterministic_tempdir
alexcrichton Jan 6, 2015
25d5a3a
rollup merge of #20507: alexcrichton/issue-20444
alexcrichton Jan 6, 2015
cc0697e
rollup merge of #20511: csouth3/derive-lint
alexcrichton Jan 6, 2015
3353371
rollup merge of #20517: nikomatsakis/safety-issue-19997
alexcrichton Jan 6, 2015
a73c352
rollup merge of #20518: nagisa/weighted-bool
alexcrichton Jan 6, 2015
6c2263c
rollup merge of #20519: ville-h/rwlock-rename
alexcrichton Jan 6, 2015
308c1ba
rollup merge of #20538: EchoAce/issue-20529
alexcrichton Jan 6, 2015
0ca3a8c
rollup merge of #20548: tshepang/fix-ping-pong-benchmark
alexcrichton Jan 6, 2015
bb5e16b
rollup merge of #20554: huonw/mut-pattern
alexcrichton Jan 6, 2015
2e883a5
rollup merge of #20560: aturon/stab-2-iter-ops-slice
alexcrichton Jan 6, 2015
59bbf56
rollup merge of #20564: bombless/patch-3
alexcrichton Jan 6, 2015
83c890b
rollup merge of #20565: alexcrichton/missing-stability
alexcrichton Jan 6, 2015
cda6acb
rollup merge of #20566: zsiciarz/fix-stdext-docs
alexcrichton Jan 6, 2015
b244319
rollup merge of #20568: huonw/ungate-AT-globs
alexcrichton Jan 6, 2015
de78419
rollup merge of #20581: apasel422/extend
alexcrichton Jan 6, 2015
4c54978
rollup merge of #20583: csouth3/vim-syntax
alexcrichton Jan 6, 2015
f3ad232
rollup merge of #20584: brson/versioning
alexcrichton Jan 6, 2015
cf8a11e
rollup merge of #20594: nikomatsakis/orphan-ordered
alexcrichton Jan 6, 2015
afbce05
rollup merge of #20556: japaric/no-for-sized
alexcrichton Jan 6, 2015
384e218
Merge remote-tracking branch 'nrc/sized-2' into rollup
alexcrichton Jan 6, 2015
563f6d8
rollup merge of #20608: nikomatsakis/assoc-types-method-dispatch
alexcrichton Jan 6, 2015
7975fd9
rollup merge of #20482: kmcallister/macro-reform
alexcrichton Jan 6, 2015
f331c56
Test fixes
alexcrichton Jan 6, 2015
ee9921a
Revert "Remove i suffix in docs"
alexcrichton Jan 6, 2015
4b359e3
More test fixes!
alexcrichton Jan 6, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 8 additions & 3 deletions mk/docs.mk
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,10 @@ RUSTDOC_HTML_OPTS_NO_CSS = --html-before-content=doc/version_info.html \
RUSTDOC_HTML_OPTS = $(RUSTDOC_HTML_OPTS_NO_CSS) --markdown-css rust.css

PANDOC_BASE_OPTS := --standalone --toc --number-sections
PANDOC_TEX_OPTS = $(PANDOC_BASE_OPTS) --include-before-body=doc/version.tex \
--from=markdown --include-before-body=doc/footer.tex --to=latex
PANDOC_TEX_OPTS = $(PANDOC_BASE_OPTS) --from=markdown --to=latex \
--include-before-body=doc/version.tex \
--include-before-body=doc/footer.tex \
--include-in-header=doc/uptack.tex
PANDOC_EPUB_OPTS = $(PANDOC_BASE_OPTS) --to=epub

# The rustdoc executable...
Expand Down Expand Up @@ -155,6 +157,9 @@ doc/footer.tex: $(D)/footer.inc | doc/
@$(call E, pandoc: $@)
$(CFG_PANDOC) --from=html --to=latex $< --output=$@

doc/uptack.tex: $(D)/uptack.tex | doc/
$(Q)cp $< $@

# HTML (rustdoc)
DOC_TARGETS += doc/not_found.html
doc/not_found.html: $(D)/not_found.md $(HTML_DEPS) | doc/
Expand All @@ -180,7 +185,7 @@ doc/$(1).epub: $$(D)/$(1).md | doc/

# PDF (md =(pandoc)=> tex =(pdflatex)=> pdf)
DOC_TARGETS += doc/$(1).tex
doc/$(1).tex: $$(D)/$(1).md doc/footer.tex doc/version.tex | doc/
doc/$(1).tex: $$(D)/$(1).md doc/uptack.tex doc/footer.tex doc/version.tex | doc/
@$$(call E, pandoc: $$@)
$$(CFG_PANDOC) $$(PANDOC_TEX_OPTS) $$< --output=$$@

Expand Down
12 changes: 6 additions & 6 deletions mk/main.mk
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
######################################################################

# The version number
CFG_RELEASE_NUM=0.13.0
CFG_RELEASE_NUM=1.0.0

# An optional number to put after the label, e.g. '2' -> '-beta2'
CFG_BETA_CYCLE=
Expand All @@ -29,14 +29,14 @@ endif
ifeq ($(CFG_RELEASE_CHANNEL),beta)
# The beta channel is temporarily called 'alpha'
CFG_RELEASE=$(CFG_RELEASE_NUM)-alpha$(CFG_BETA_CYCLE)
# When building beta/nightly distributables just reuse the same "beta"
# name so when we upload we'll always override the previous
# nighly. This doesn't actually impact the version reported by rustc -
# it's just for file naming.
CFG_PACKAGE_VERS=alpha
CFG_PACKAGE_VERS=$(CFG_RELEASE_NUM)-alpha$(CFG_BETA_CYCLE)
endif
ifeq ($(CFG_RELEASE_CHANNEL),nightly)
CFG_RELEASE=$(CFG_RELEASE_NUM)-nightly
# When building nightly distributables just reuse the same "nightly" name
# so when we upload we'll always override the previous nighly. This
# doesn't actually impact the version reported by rustc - it's just
# for file naming.
CFG_PACKAGE_VERS=nightly
endif
ifeq ($(CFG_RELEASE_CHANNEL),dev)
Expand Down
9 changes: 8 additions & 1 deletion src/compiletest/compiletest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,14 @@

extern crate test;
extern crate getopts;
#[phase(plugin, link)] extern crate log;

#[cfg(stage0)]
#[phase(plugin, link)]
extern crate log;

#[cfg(not(stage0))]
#[macro_use]
extern crate log;

extern crate regex;

Expand Down
2 changes: 1 addition & 1 deletion src/doc/complement-lang-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Some examples that demonstrate different aspects of the language:
* [sprocketnes], an NES emulator with no GC, using modern Rust conventions
* The language's general-purpose [hash] function, SipHash-2-4. Bit twiddling, OO, macros
* The standard library's [HashMap], a sendable hash map in an OO style
* The extra library's [json] module. Enums and pattern matching
* The standard library's [json] module. Enums and pattern matching

[sprocketnes]: https://github.com/pcwalton/sprocketnes
[hash]: https://github.com/rust-lang/rust/blob/master/src/libstd/hash/mod.rs
Expand Down
50 changes: 27 additions & 23 deletions src/doc/guide-ffi.md
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,7 @@ them.
~~~no_run
extern crate libc;

use std::c_str::ToCStr;
use std::ffi::CString;
use std::ptr;

#[link(name = "readline")]
Expand All @@ -460,11 +460,10 @@ extern {
}

fn main() {
"[my-awesome-shell] $".with_c_str(|buf| {
unsafe { rl_prompt = buf; }
// get a line, process it
unsafe { rl_prompt = ptr::null(); }
});
let prompt = CString::from_slice(b"[my-awesome-shell] $");
unsafe { rl_prompt = prompt.as_ptr(); }
// get a line, process it
unsafe { rl_prompt = ptr::null(); }
}
~~~

Expand Down Expand Up @@ -509,23 +508,28 @@ to define a block for all windows systems, not just x86 ones.

# Interoperability with foreign code

Rust guarantees that the layout of a `struct` is compatible with the platform's representation in C
only if the `#[repr(C)]` attribute is applied to it. `#[repr(C, packed)]` can be used to lay out
struct members without padding. `#[repr(C)]` can also be applied to an enum.

Rust's owned boxes (`Box<T>`) use non-nullable pointers as handles which point to the contained
object. However, they should not be manually created because they are managed by internal
allocators. References can safely be assumed to be non-nullable pointers directly to the type.
However, breaking the borrow checking or mutability rules is not guaranteed to be safe, so prefer
using raw pointers (`*`) if that's needed because the compiler can't make as many assumptions about
them.

Vectors and strings share the same basic memory layout, and utilities are available in the `vec` and
`str` modules for working with C APIs. However, strings are not terminated with `\0`. If you need a
NUL-terminated string for interoperability with C, you should use the `c_str::to_c_str` function.

The standard library includes type aliases and function definitions for the C standard library in
the `libc` module, and Rust links against `libc` and `libm` by default.
Rust guarantees that the layout of a `struct` is compatible with the platform's
representation in C only if the `#[repr(C)]` attribute is applied to it.
`#[repr(C, packed)]` can be used to lay out struct members without padding.
`#[repr(C)]` can also be applied to an enum.

Rust's owned boxes (`Box<T>`) use non-nullable pointers as handles which point
to the contained object. However, they should not be manually created because
they are managed by internal allocators. References can safely be assumed to be
non-nullable pointers directly to the type. However, breaking the borrow
checking or mutability rules is not guaranteed to be safe, so prefer using raw
pointers (`*`) if that's needed because the compiler can't make as many
assumptions about them.

Vectors and strings share the same basic memory layout, and utilities are
available in the `vec` and `str` modules for working with C APIs. However,
strings are not terminated with `\0`. If you need a NUL-terminated string for
interoperability with C, you should use the `CString` type in the `std::ffi`
module.

The standard library includes type aliases and function definitions for the C
standard library in the `libc` module, and Rust links against `libc` and `libm`
by default.

# The "nullable pointer optimization"

Expand Down
Loading