]> git.lizzy.rs Git - rust.git/log
rust.git
10 years agoauto merge of #14811 : forticulous/rust/refcell-show, r=alexcrichton
bors [Thu, 12 Jun 2014 19:36:53 +0000 (19:36 +0000)]
auto merge of #14811 : forticulous/rust/refcell-show, r=alexcrichton

Show impl for RefCell and friends

10 years agoauto merge of #14809 : zzmp/rust/patch-2, r=alexcrichton
bors [Thu, 12 Jun 2014 16:02:05 +0000 (16:02 +0000)]
auto merge of #14809 : zzmp/rust/patch-2, r=alexcrichton

Previously, the type system's restrictions on borrowing were summarized as

> The previous example showed that the type system forbids any borrowing of owned boxes found in aliasable, mutable memory.

This did not jive with the example, which allowed mutations so long as the borrowed reference had been returned. Also, the language has changed to no longer allow aliasable mutable locations. This changes the summary to read

> The previous example showed that the type system forbids mutations of owned boxed values while they are being borrowed. In general, the type system also forbids borrowing a value as mutable if it is already being borrowed - either as a mutable reference or an immutable one.

This adds more general information for the experienced reader as well, to offer a more complete understanding.

10 years agoauto merge of #14805 : zzmp/rust/patch-1, r=alexcrichton
bors [Thu, 12 Jun 2014 14:17:13 +0000 (14:17 +0000)]
auto merge of #14805 : zzmp/rust/patch-1, r=alexcrichton

The guide previously stated:

> The compiler will automatically convert a box box point to a reference like &point.

This fixes the doubled word `box`, so the statement reads

> The compiler will automatically convert a box point to a reference like &point.

The code it is referring to is `compute_distance(&on_the_stack, on_the_heap);`, so a single `box` is appropriate.

10 years agoauto merge of #14801 : pcwalton/rust/name-shadowing-in-one-pattern, r=alexcrichton
bors [Thu, 12 Jun 2014 12:32:13 +0000 (12:32 +0000)]
auto merge of #14801 : pcwalton/rust/name-shadowing-in-one-pattern, r=alexcrichton

bindings and function arguments.

Issue #14581.

To fix code that this breaks, give the pattern identifiers different names.

[breaking-change]

r? @brson

10 years agoauto merge of #14800 : reem/rust/patch-1, r=alexcrichton
bors [Thu, 12 Jun 2014 10:47:03 +0000 (10:47 +0000)]
auto merge of #14800 : reem/rust/patch-1, r=alexcrichton

According to #14767 and the grammar right above this documentation, nested comments are supported.

10 years agoauto merge of #14792 : alexcrichton/rust/local-jemalloc, r=brson
bors [Thu, 12 Jun 2014 09:02:08 +0000 (02:02 -0700)]
auto merge of #14792 : alexcrichton/rust/local-jemalloc, r=brson

This configures the makefiles to copy a local jemalloc/libuv library into place instead of building the local copy of one. Additionally, this switches our travis builds to using the system-provided jemalloc instead of a custom-built jemalloc to exercise this functionality.

10 years agomk: Allow using a locally compiled libuv.a
Alex Crichton [Tue, 10 Jun 2014 17:01:21 +0000 (10:01 -0700)]
mk: Allow using a locally compiled libuv.a

Closes #5563

10 years agotravis: Use a pre-installed jemalloc
Alex Crichton [Sat, 7 Jun 2014 06:55:05 +0000 (23:55 -0700)]
travis: Use a pre-installed jemalloc

10 years agomk: Allow usage of a local jemalloc install
Alex Crichton [Sat, 7 Jun 2014 06:52:56 +0000 (23:52 -0700)]
mk: Allow usage of a local jemalloc install

This adds a new configure option, --jemalloc-root, which will specify a location
at which libjemalloc_pic.a must live. This library is then used for the build
triple as the jemalloc library to link.

10 years agoauto merge of #14799 : mcreinhard/rust/tilde-fix, r=alexcrichton
bors [Thu, 12 Jun 2014 05:02:00 +0000 (22:02 -0700)]
auto merge of #14799 : mcreinhard/rust/tilde-fix, r=alexcrichton

Replaced `~Drawable` with `Box<Drawable>` in tutorial

10 years agoauto merge of #14713 : darnuria/rust/Improve_std_os_documentation_#2, r=alexcrichton
bors [Thu, 12 Jun 2014 02:06:58 +0000 (19:06 -0700)]
auto merge of #14713 : darnuria/rust/Improve_std_os_documentation_#2, r=alexcrichton

Improving documentation, consistency, removes evils empty lines etc...

10 years agoImprove docs and refactore std::os.
Axel Viala [Wed, 11 Jun 2014 15:52:12 +0000 (17:52 +0200)]
Improve docs and refactore std::os.

10 years agoauto merge of #14703 : alexcrichton/rust/no-more-owned-vectors, r=brson
bors [Wed, 11 Jun 2014 22:36:59 +0000 (15:36 -0700)]
auto merge of #14703 : alexcrichton/rust/no-more-owned-vectors, r=brson

The following features have been removed

* `box [a, b, c]`
* `~[a, b, c]`
* `box [a, ..N]`
* `~[a, ..N]`
* `~[T]` (as a type)
* deprecated_owned_vector lint

All users of ~[T] should move to using Vec<T> instead.

10 years agorustc: Remove ~[T] from the language
Alex Crichton [Fri, 6 Jun 2014 17:27:49 +0000 (10:27 -0700)]
rustc: Remove ~[T] from the language

The following features have been removed

* box [a, b, c]
* ~[a, b, c]
* box [a, ..N]
* ~[a, ..N]
* ~[T] (as a type)
* deprecated_owned_vector lint

All users of ~[T] should move to using Vec<T> instead.

10 years agolibrustc: Forbid identifiers that shadow in the same pattern in let
Patrick Walton [Tue, 10 Jun 2014 21:39:10 +0000 (14:39 -0700)]
librustc: Forbid identifiers that shadow in the same pattern in let
bindings and function arguments.

Issue #14581.

To fix code that this breaks, give the pattern identifiers different names.

[breaking-change]

10 years agoauto merge of #14746 : alexcrichton/rust/libsync, r=brson
bors [Wed, 11 Jun 2014 18:47:04 +0000 (11:47 -0700)]
auto merge of #14746 : alexcrichton/rust/libsync, r=brson

This commit is the final step in the libstd facade, #13851. The purpose of this
commit is to move libsync underneath the standard library, behind the facade.
This will allow core primitives like channels, queues, and atomics to all live
in the same location.

There were a few notable changes and a few breaking changes as part of this
movement:

* The `Vec` and `String` types are reexported at the top level of libcollections
* The `unreachable!()` macro was copied to libcore
* The `std::rt::thread` module was moved to librustrt, but it is still
  reexported at the same location.
* The `std::comm` module was moved to libsync
* The `sync::comm` module was moved under `sync::comm`, and renamed to `duplex`.
  It is now a private module with types/functions being reexported under
  `sync::comm`. This is a breaking change for any existing users of duplex
  streams.
* All concurrent queues/deques were moved directly under libsync. They are also
  all marked with #![experimental] for now if they are public.
* The `task_pool` and `future` modules no longer live in libsync, but rather
  live under `std::sync`. They will forever live at this location, but they may
  move to libsync if the `std::task` module moves as well.

[breaking-change]

10 years agoauto merge of #14250 : alexcrichton/rust/gc, r=brson
bors [Wed, 11 Jun 2014 17:02:04 +0000 (10:02 -0700)]
auto merge of #14250 : alexcrichton/rust/gc, r=brson

This commit removes `@T` from the compiler by moving the AST to using `Gc<T>`. This also starts treating `Gc<T>` as `@T` in the same way that `Box<T>` is the same as `~T` in the compiler.

After this hits a snapshot, the `@T` syntax should be able to be removed completely.

10 years agosync: Move underneath libstd
Alex Crichton [Sat, 7 Jun 2014 18:13:26 +0000 (11:13 -0700)]
sync: Move underneath libstd

This commit is the final step in the libstd facade, #13851. The purpose of this
commit is to move libsync underneath the standard library, behind the facade.
This will allow core primitives like channels, queues, and atomics to all live
in the same location.

There were a few notable changes and a few breaking changes as part of this
movement:

* The `Vec` and `String` types are reexported at the top level of libcollections
* The `unreachable!()` macro was copied to libcore
* The `std::rt::thread` module was moved to librustrt, but it is still
  reexported at the same location.
* The `std::comm` module was moved to libsync
* The `sync::comm` module was moved under `sync::comm`, and renamed to `duplex`.
  It is now a private module with types/functions being reexported under
  `sync::comm`. This is a breaking change for any existing users of duplex
  streams.
* All concurrent queues/deques were moved directly under libsync. They are also
  all marked with #![experimental] for now if they are public.
* The `task_pool` and `future` modules no longer live in libsync, but rather
  live under `std::sync`. They will forever live at this location, but they may
  move to libsync if the `std::task` module moves as well.

[breaking-change]

10 years agorustc: Move the AST from @T to Gc<T>
Alex Crichton [Fri, 16 May 2014 17:15:33 +0000 (10:15 -0700)]
rustc: Move the AST from @T to Gc<T>

10 years agosyntax: Move the AST from @T to Gc<T>
Alex Crichton [Fri, 16 May 2014 07:16:13 +0000 (00:16 -0700)]
syntax: Move the AST from @T to Gc<T>

10 years agorustc: Update how Gc<T> is recognized
Alex Crichton [Fri, 16 May 2014 01:18:00 +0000 (18:18 -0700)]
rustc: Update how Gc<T> is recognized

This commit uses the same trick as ~/Box to map Gc<T> to @T internally inside
the compiler. This moves a number of implementations of traits to the `gc`
module in the standard library.

This removes functions such as `Gc::new`, `Gc::borrow`, and `Gc::ptr_eq` in
favor of the more modern equivalents, `box(GC)`, `Deref`, and pointer equality.

The Gc pointer itself should be much more useful now, and subsequent commits
will move the compiler away from @T towards Gc<T>

[breaking-change]

10 years agoauto merge of #14789 : aochagavia/rust/prelude, r=alexcrichton
bors [Wed, 11 Jun 2014 14:42:07 +0000 (07:42 -0700)]
auto merge of #14789 : aochagavia/rust/prelude, r=alexcrichton

10 years agoauto merge of #14788 : Sawyer47/rust/issue-13214, r=huonw
bors [Wed, 11 Jun 2014 13:02:10 +0000 (06:02 -0700)]
auto merge of #14788 : Sawyer47/rust/issue-13214, r=huonw

Closes #13214

10 years agoauto merge of #14787 : alexcrichton/rust/issue-14784, r=pcwalton
bors [Wed, 11 Jun 2014 11:22:02 +0000 (04:22 -0700)]
auto merge of #14787 : alexcrichton/rust/issue-14784, r=pcwalton

This is another case of #13246. The RAII lock wasn't being destroyed until after
the allocation was free'd due to destructor scheduling.

Closes #14784

10 years agoauto merge of #14786 : pcwalton/rust/enum-to-float-casts, r=alexcrichton
bors [Wed, 11 Jun 2014 06:37:06 +0000 (23:37 -0700)]
auto merge of #14786 : pcwalton/rust/enum-to-float-casts, r=alexcrichton

If this breaks your code, take a deep breath, go for a walk, and
consider why you're relying on the sign extension semantics of
enum-to-float casts.

[breaking-change]

Closes #8230.

10 years agoauto merge of #14777 : alexcrichton/rust/issue-14747, r=huonw
bors [Wed, 11 Jun 2014 02:52:05 +0000 (19:52 -0700)]
auto merge of #14777 : alexcrichton/rust/issue-14747, r=huonw

When generating documentation, rustdoc has the ability to generate relative
links within the current distribution of crates to one another. To do this, it
must recognize when a crate's documentation is in the same output directory. The
current threshold for "local documentation for crate X being available" is
whether the directory "doc/X" exists.

This change modifies the build system to have new dependencies for each
directory of upstream crates for a rustdoc invocation. This will ensure that
when building documentation that all the crates in the standard distribution are
guaranteed to have relative links to one another.

This change is prompted by guaranteeing that offline docs always work with one
another. Before this change, races could mean that some docs were built before
others, and hence may have http links when relative links would suffice.

Closes #14747

10 years agoShow impl for Ref & RefMut
fort [Tue, 10 Jun 2014 06:09:53 +0000 (23:09 -0700)]
Show impl for Ref & RefMut

10 years agoauto merge of #14768 : riccieri/rust/detransmute-arena, r=alexcrichton
bors [Wed, 11 Jun 2014 01:07:07 +0000 (18:07 -0700)]
auto merge of #14768 : riccieri/rust/detransmute-arena, r=alexcrichton

**Update**

I've reimplemented this using `Cell` and `RefCell`, as suggested by @alexcrichton. By taking care with the duration of the borrows, I was able to maintain the recursive allocation feature (now covered by a test) without the use of `Unsafe`, and without breaking the non-aliasing `&mut` invariant.

**Original**

Changes both `Arena` and `TypedArena` to contain an inner struct wrapped in a `Unsafe`, and change field access to go through those instead of transmuting `&self` to `&mut self`.

Part of #13933

10 years agoUpdate description to reflect language changes
Zach Pomerantz [Wed, 11 Jun 2014 00:36:02 +0000 (17:36 -0700)]
Update description to reflect language changes

Previously, the type system's restrictions on borrowing were summarized as

> The previous example showed that the type system forbids any borrowing of owned boxes found in aliasable, mutable memory

This did not jive with the example, which allowed mutations so long as the borrowed reference had been returned. Also, the language has changed to no longer allow aliasable mutable locations. This changes the summary to read

> The previous example showed that the type system forbids mutations of owned boxed values while they are being borrowed. In general, the type system also forbids borrowing a value as mutable if it is already being borrowed - either as a mutable reference or an immutable one.

This adds more general information for the experienced reader as well, to offer a more complete understanding.

10 years agoRemoved doubled wording.
Zach Pomerantz [Tue, 10 Jun 2014 23:53:04 +0000 (16:53 -0700)]
Removed doubled wording.

The guide previously stated:

> The compiler will automatically convert a box box point to a reference like &amp;point.

This fixes the doubled word `box`, so the statement reads

> The compiler will automatically convert a box point to a reference like &amp;point.

The code it is referring to is `compute_distance(&on_the_stack, on_the_heap);`, so a single `box` is appropriate.

10 years agoRemove outdated info about nested block comments. Fixes #14767
Jonathan Reem [Tue, 10 Jun 2014 21:53:07 +0000 (14:53 -0700)]
Remove outdated info about nested block comments. Fixes #14767

10 years agoauto merge of #14764 : jbcrail/rust/fix-more-comments, r=alexcrichton
bors [Tue, 10 Jun 2014 22:17:01 +0000 (15:17 -0700)]
auto merge of #14764 : jbcrail/rust/fix-more-comments, r=alexcrichton

10 years agoFix deprecated use of ~
Michael Reinhard [Tue, 10 Jun 2014 21:44:27 +0000 (14:44 -0700)]
Fix deprecated use of ~

10 years agoauto merge of #14752 : jakub-/rust/issue-11940, r=alexcrichton
bors [Tue, 10 Jun 2014 20:17:10 +0000 (13:17 -0700)]
auto merge of #14752 : jakub-/rust/issue-11940, r=alexcrichton

Fixes #8315
Fixes #11940

10 years agoauto merge of #14696 : jakub-/rust/dead-struct-fields, r=alexcrichton
bors [Tue, 10 Jun 2014 16:49:29 +0000 (09:49 -0700)]
auto merge of #14696 : jakub-/rust/dead-struct-fields, r=alexcrichton

This uncovered some dead code, most notably in middle/liveness.rs, which I think suggests there must be something fishy with that part of the code.

The #[allow(dead_code)] annotations on some of the fields I am not super happy about but as I understand, marker type may disappear at some point.

10 years agoFix more misspelled comments and strings.
Joseph Crail [Mon, 9 Jun 2014 04:00:52 +0000 (00:00 -0400)]
Fix more misspelled comments and strings.

10 years agoPub use CheckedDiv in the prelude
Adolfo Ochagavía [Tue, 10 Jun 2014 07:59:05 +0000 (09:59 +0200)]
Pub use CheckedDiv in the prelude

10 years agoAdd test for issue #13214
Piotr Jawniak [Tue, 10 Jun 2014 06:07:13 +0000 (08:07 +0200)]
Add test for issue #13214

Closes #13214

10 years agoauto merge of #14606 : pcwalton/rust/fn-trait-sugar, r=alexcrichton
bors [Tue, 10 Jun 2014 06:41:53 +0000 (23:41 -0700)]
auto merge of #14606 : pcwalton/rust/fn-trait-sugar, r=alexcrichton

r? @alexcrichton

10 years agoauto merge of #14783 : alexcrichton/rust/rollup, r=alexcrichton
bors [Tue, 10 Jun 2014 04:57:09 +0000 (21:57 -0700)]
auto merge of #14783 : alexcrichton/rust/rollup, r=alexcrichton

Closes #14611 (std: Remove the as_utf16_p functions)
Closes #14694 (Num cleanup)
Closes #14760 (Add --color to test binary options)
Closes #14763 (std: Move dynamic_lib from std::unstable to std)
Closes #14766 (Add test for issue #13446)
Closes #14769 (collections: Add missing Default impls)
Closes #14773 (General nits)
Closes #14776 (rustdoc: Correctly classify enums/typedefs)

10 years agoTest fixes from rollup
Alex Crichton [Tue, 10 Jun 2014 02:55:28 +0000 (19:55 -0700)]
Test fixes from rollup

10 years agorustrt: Fix invalid reads caught by valgrind
Alex Crichton [Tue, 10 Jun 2014 03:57:55 +0000 (20:57 -0700)]
rustrt: Fix invalid reads caught by valgrind

This is another case of #13246. The RAII lock wasn't being destroyed until after
the allocation was free'd due to destructor scheduling.

Closes #14784

10 years agolibrustc: Use *signed* extension when converting enums to floats.
Patrick Walton [Tue, 10 Jun 2014 03:39:20 +0000 (20:39 -0700)]
librustc: Use *signed* extension when converting enums to floats.

Previously, constants used unsigned extension, while non-constants used
signed extension. This unifies both paths to use signed extension.

If this breaks your code, take a deep breath, go for a walk, and
consider why you're relying on the sign extension semantics of
enum-to-float casts.

Closes #8230.

[breaking-change]

10 years agoRemove & -> &mut transmute from TypedArena
Renato Zannon [Tue, 10 Jun 2014 03:41:44 +0000 (00:41 -0300)]
Remove & -> &mut transmute from TypedArena

10 years agoRemove & -> &mut transmute from Arena
Renato Zannon [Tue, 10 Jun 2014 03:29:36 +0000 (00:29 -0300)]
Remove & -> &mut transmute from Arena

10 years agolibrustc: Implement sugar for the `FnMut` trait
Patrick Walton [Mon, 2 Jun 2014 01:41:46 +0000 (18:41 -0700)]
librustc: Implement sugar for the `FnMut` trait

10 years agoAdd a test for nested Arena.alloc
Renato Zannon [Tue, 10 Jun 2014 02:54:52 +0000 (23:54 -0300)]
Add a test for nested Arena.alloc

10 years agoauto merge of #14694 : aochagavia/rust/num-cleanup, r=alexcrichton
bors [Tue, 10 Jun 2014 02:52:08 +0000 (19:52 -0700)]
auto merge of #14694 : aochagavia/rust/num-cleanup, r=alexcrichton

10 years agorustdoc: Correctly classify enums/typedefs
Alex Crichton [Mon, 9 Jun 2014 19:56:37 +0000 (12:56 -0700)]
rustdoc: Correctly classify enums/typedefs

Both of these items are surfaced as a DefTy, so some extra logic was needed in
the decoder module to figure out whether one is actually an enum or whether it's
a typedef.

Closes #14757

10 years agostd: adjust the TCP io doc example to work reliably.
Huon Wilson [Mon, 9 Jun 2014 14:33:04 +0000 (00:33 +1000)]
std: adjust the TCP io doc example to work reliably.

Fixes #11576 by making the code never run (and hence never
pass when the test was marked `should_fail`).

10 years agonative: add more info to the native unimplemented error.
Huon Wilson [Mon, 9 Jun 2014 14:31:31 +0000 (00:31 +1000)]
native: add more info to the native unimplemented error.

This refers to green, which (AFAICT) has everything implemented. In
particular, this will help guide people to get working signal handling
via libgreen.

10 years agocollections: Add missing Default impls
Tom Jakubowski [Mon, 9 Jun 2014 07:30:04 +0000 (00:30 -0700)]
collections: Add missing Default impls

Add Default impls for TreeMap, TreeSet, SmallIntMap, BitvSet, DList,
PriorityQueue, RingBuf, TrieMap, and TrieSet.

10 years agoAdd test for issue #13446
Piotr Jawniak [Mon, 9 Jun 2014 05:44:49 +0000 (07:44 +0200)]
Add test for issue #13446

Closes #13446

10 years agostd: Move dynamic_lib from std::unstable to std
Brian Anderson [Mon, 9 Jun 2014 03:12:10 +0000 (20:12 -0700)]
std: Move dynamic_lib from std::unstable to std

This leaves a deprecated reexport in place temporarily.

Closes #1457.

10 years agoAdd a --color flag to test binaries
Steven Fackler [Mon, 9 Jun 2014 00:10:27 +0000 (17:10 -0700)]
Add a --color flag to test binaries

It uses the same behavior as rustc's.

10 years agoCleanup bigint
Adolfo Ochagavía [Fri, 6 Jun 2014 08:56:03 +0000 (10:56 +0200)]
Cleanup bigint

10 years agoMoved integer trait and functions to submodule
Adolfo Ochagavía [Thu, 5 Jun 2014 19:07:50 +0000 (21:07 +0200)]
Moved integer trait and functions to submodule

10 years agostd: Remove the as_utf16_p functions
Alex Crichton [Mon, 2 Jun 2014 21:51:58 +0000 (14:51 -0700)]
std: Remove the as_utf16_p functions

These functions are all much better expressed via RAII using the to_utf16()
method on strings. This refactoring also takes this opportunity to properly
handle when filenames aren't valid unicode when passed through to the windows
I/O layer by properly returning I/O errors.

All previous users of the `as_utf16_p` or `as_utf16_mut_p` functions will need
to convert their code to using `foo.to_utf16().append_one(0)` to get a
null-terminated utf16 string.

[breaking-change]

10 years agoauto merge of #14590 : pcwalton/rust/overloaded-call, r=nick29581
bors [Tue, 10 Jun 2014 00:37:08 +0000 (17:37 -0700)]
auto merge of #14590 : pcwalton/rust/overloaded-call, r=nick29581

gate.

This is part of unboxed closures.

r? @nick29581

10 years agoauto merge of #14554 : kmcallister/rust/plugin_registrar, r=cmr
bors [Mon, 9 Jun 2014 22:52:07 +0000 (15:52 -0700)]
auto merge of #14554 : kmcallister/rust/plugin_registrar, r=cmr

This implements the design in rust-lang/rfcs#86.  It shouldn't be merged until that RFC is accepted, but it would be great if somebody has time to review the code before then.

10 years agoMacro crates now depend on librustc
Keegan McAllister [Sat, 31 May 2014 00:55:42 +0000 (17:55 -0700)]
Macro crates now depend on librustc

10 years agoDocument rustc::plugin
Keegan McAllister [Mon, 26 May 2014 21:48:54 +0000 (14:48 -0700)]
Document rustc::plugin

10 years agoAdd a test for deprecated phase(syntax)
Keegan McAllister [Sun, 25 May 2014 05:22:24 +0000 (22:22 -0700)]
Add a test for deprecated phase(syntax)

10 years agoConvert tests to use #[plugin_registrar]
Keegan McAllister [Sun, 25 May 2014 04:38:16 +0000 (21:38 -0700)]
Convert tests to use #[plugin_registrar]

10 years agoConvert libraries to use #[plugin_registrar]
Keegan McAllister [Sun, 25 May 2014 04:31:50 +0000 (21:31 -0700)]
Convert libraries to use #[plugin_registrar]

10 years agoUse phase(plugin) in tests
Keegan McAllister [Sun, 25 May 2014 04:24:35 +0000 (21:24 -0700)]
Use phase(plugin) in tests

10 years agoUse phase(plugin) in other crates
Keegan McAllister [Sun, 25 May 2014 04:22:52 +0000 (21:22 -0700)]
Use phase(plugin) in other crates

10 years agoUse phase(plugin) in bootstrap crates
Keegan McAllister [Sun, 25 May 2014 04:15:16 +0000 (21:15 -0700)]
Use phase(plugin) in bootstrap crates

Do this to avoid warnings on post-stage0 builds.

10 years agoImplement #[plugin_registrar]
Keegan McAllister [Sat, 24 May 2014 23:16:10 +0000 (16:16 -0700)]
Implement #[plugin_registrar]

See RFC 22.

[breaking-change]

10 years agoauto merge of #14775 : alexcrichton/rust/fix-master, r=brson
bors [Mon, 9 Jun 2014 21:07:12 +0000 (14:07 -0700)]
auto merge of #14775 : alexcrichton/rust/fix-master, r=brson

Apparently one of the linux bots doesn't have the USER variable defined, and
this fix will likely land more quickly than a fix to the bots.

10 years agoAdd missing repr(C) annotations to mutex.rs
Jakub Wieczorek [Mon, 9 Jun 2014 20:14:51 +0000 (22:14 +0200)]
Add missing repr(C) annotations to mutex.rs

10 years agomk: Ensure docs have relative links to each other
Alex Crichton [Mon, 9 Jun 2014 20:00:18 +0000 (13:00 -0700)]
mk: Ensure docs have relative links to each other

When generating documentation, rustdoc has the ability to generate relative
links within the current distribution of crates to one another. To do this, it
must recognize when a crate's documentation is in the same output directory. The
current threshold for "local documentation for crate X being available" is
whether the directory "doc/X" exists.

This change modifies the build system to have new dependencies for each
directory of upstream crates for a rustdoc invocation. This will ensure that
when building documentation that all the crates in the standard distribution are
guaranteed to have relative links to one another.

This change is prompted by guaranteeing that offline docs always work with one
another. Before this change, races could mean that some docs were built before
others, and hence may have http links when relative links would suffice.

Closes #14747

10 years agostd: Read HOME instead of USER
Alex Crichton [Mon, 9 Jun 2014 19:44:45 +0000 (12:44 -0700)]
std: Read HOME instead of USER

Apparently one of the linux bots doesn't have the USER variable defined, and
this fix will likely land more quickly than a fix to the bots.

10 years agolibrustc: Implement overloading for the call operator behind a feature
Patrick Walton [Sun, 1 Jun 2014 23:35:01 +0000 (16:35 -0700)]
librustc: Implement overloading for the call operator behind a feature
gate.

This is part of unboxed closures.

10 years agoCleanup bigint
Adolfo Ochagavía [Fri, 6 Jun 2014 08:56:03 +0000 (10:56 +0200)]
Cleanup bigint

10 years agoMoved integer trait and functions to submodule
Adolfo Ochagavía [Thu, 5 Jun 2014 19:07:50 +0000 (21:07 +0200)]
Moved integer trait and functions to submodule

10 years agoauto merge of #14709 : alexcrichton/rust/collections, r=brson
bors [Mon, 9 Jun 2014 08:11:58 +0000 (01:11 -0700)]
auto merge of #14709 : alexcrichton/rust/collections, r=brson

This is mostly just a cosmetic change, continuing the work from #14333.

10 years agocore: Move the collections traits to libcollections
Alex Crichton [Fri, 6 Jun 2014 23:33:44 +0000 (16:33 -0700)]
core: Move the collections traits to libcollections

This commit moves Mutable, Map, MutableMap, Set, and MutableSet from
`core::collections` to the `collections` crate at the top-level. Additionally,
this removes the `deque` module and moves the `Deque` trait to only being
available at the top-level of the collections crate.

All functionality continues to be reexported through `std::collections`.

[breaking-change]

10 years agoauto merge of #14740 : P1start/rust/name-warnings, r=alexcrichton
bors [Mon, 9 Jun 2014 06:26:57 +0000 (23:26 -0700)]
auto merge of #14740 : P1start/rust/name-warnings, r=alexcrichton

This updates identifier warnings such as ``struct `foo_bar` should have a
camel case identifier`` to provide an example.

Closes #14738.

10 years agocore: Rename `container` mod to `collections`. Closes #12543
Brian Anderson [Mon, 19 May 2014 18:32:09 +0000 (11:32 -0700)]
core: Rename `container` mod to `collections`. Closes #12543

Also renames the `Container` trait to `Collection`.

[breaking-change]

10 years agoauto merge of #14765 : rapha/rust/master, r=alexcrichton
bors [Mon, 9 Jun 2014 04:26:59 +0000 (21:26 -0700)]
auto merge of #14765 : rapha/rust/master, r=alexcrichton

10 years agoConverted PortReader and ChanWriter to use Vec.
Raphael Speyer [Mon, 9 Jun 2014 04:18:11 +0000 (14:18 +1000)]
Converted PortReader and ChanWriter to use Vec.

10 years agoauto merge of #14756 : TeXitoi/rust/relicense-shootout-fannkuch-redux, r=brson
bors [Sun, 8 Jun 2014 21:56:52 +0000 (14:56 -0700)]
auto merge of #14756 : TeXitoi/rust/relicense-shootout-fannkuch-redux, r=brson

Part of #14248

Main contributors are @pcwalton, @alexcrichton and me.  Only
@dguenther appear in git blame as a minor contribution, but it is
only adding the rust license, so removed by this relicensing.

@brson OK?

10 years agorelicense shootout-fannkuch-redux.rs
Guillaume Pinot [Sun, 8 Jun 2014 20:25:49 +0000 (22:25 +0200)]
relicense shootout-fannkuch-redux.rs

Part of #14248

Main contributors are @pcwalton, @alexcrichton and me.  Only
@dguenther appear in git blame as a minor contribution, but it is
only adding the rust license, so removed by this relicensing.

10 years agoMark relevant structs with repr(C)
Jakub Wieczorek [Sun, 8 Jun 2014 19:55:17 +0000 (21:55 +0200)]
Mark relevant structs with repr(C)

10 years agoauto merge of #14751 : jbcrail/rust/fix-comments, r=alexcrichton
bors [Sun, 8 Jun 2014 19:51:51 +0000 (12:51 -0700)]
auto merge of #14751 : jbcrail/rust/fix-comments, r=alexcrichton

10 years agoRemove a redundant bitcast from fail!() handling
Jakub Wieczorek [Sun, 8 Jun 2014 18:01:38 +0000 (20:01 +0200)]
Remove a redundant bitcast from fail!() handling

10 years agoFix an LLVM assertion when matching against static strings
Jakub Wieczorek [Sun, 8 Jun 2014 17:37:45 +0000 (19:37 +0200)]
Fix an LLVM assertion when matching against static strings

Fixes #8315
Fixes #11940

10 years agoFix spelling errors in comments.
Joseph Crail [Sun, 8 Jun 2014 17:22:49 +0000 (13:22 -0400)]
Fix spelling errors in comments.

10 years agoauto merge of #14749 : sfackler/rust/bitv-hash, r=alexcrichton
bors [Sun, 8 Jun 2014 17:36:54 +0000 (10:36 -0700)]
auto merge of #14749 : sfackler/rust/bitv-hash, r=alexcrichton

Closes #14744

10 years agoImplement Hash for Bitv and BitvSet
Steven Fackler [Sun, 8 Jun 2014 16:30:03 +0000 (09:30 -0700)]
Implement Hash for Bitv and BitvSet

Closes #14744

10 years agoauto merge of #14745 : huonw/rust/timer-doc, r=alexcrichton
bors [Sun, 8 Jun 2014 13:01:49 +0000 (06:01 -0700)]
auto merge of #14745 : huonw/rust/timer-doc, r=alexcrichton

std::io: expand the oneshot/periodic docs.

Examples!

Fixes #14714.

10 years agoRemove the dead code identified by the new lint
Jakub Wieczorek [Fri, 6 Jun 2014 13:51:42 +0000 (15:51 +0200)]
Remove the dead code identified by the new lint

10 years agoAdd detection of dead struct fields
Jakub Wieczorek [Thu, 5 Jun 2014 22:00:29 +0000 (00:00 +0200)]
Add detection of dead struct fields

10 years agoauto merge of #14741 : sfackler/rust/visit-attr, r=alexcrichton
bors [Sun, 8 Jun 2014 11:16:53 +0000 (04:16 -0700)]
auto merge of #14741 : sfackler/rust/visit-attr, r=alexcrichton

The lint was missing a *lot* of cases previously.

10 years agoauto merge of #14728 : TeXitoi/rust/relicense-shootout-regex-dna, r=brson
bors [Sun, 8 Jun 2014 09:31:53 +0000 (02:31 -0700)]
auto merge of #14728 : TeXitoi/rust/relicense-shootout-regex-dna, r=brson

Part of #14248

The authors are @pcwalton and @BurntSushi, and we have their agreement.

@brson OK?

10 years agostd::io: expand the oneshot/periodic docs.
Huon Wilson [Sun, 8 Jun 2014 07:30:28 +0000 (17:30 +1000)]
std::io: expand the oneshot/periodic docs.

Examples!

Fixes #14714.

10 years agoauto merge of #14743 : Sawyer47/rust/range-msg, r=huonw
bors [Sun, 8 Jun 2014 07:46:57 +0000 (00:46 -0700)]
auto merge of #14743 : Sawyer47/rust/range-msg, r=huonw

Range allows char and numeric types, but previous error message
mentioned only numeric types.

10 years agoRemove unused name_str_pair method
Steven Fackler [Sun, 8 Jun 2014 07:21:35 +0000 (00:21 -0700)]
Remove unused name_str_pair method

10 years agoAdd back hint for crate level attributes
Steven Fackler [Sun, 8 Jun 2014 07:21:15 +0000 (00:21 -0700)]
Add back hint for crate level attributes