Alex Crichton
da3625161d
Removing imports of std::vec_ng::Vec
...
It's now in the prelude.
2014-03-20 09:30:14 -07:00
Daniel Micay
14f656d1a7
rename std::vec_ng -> std::vec
...
Closes #12771
2014-03-20 04:25:32 -04:00
Alex Crichton
87c7c03f45
syntax: Don't parameterize the the pretty printer
...
The pretty printer constitues an enormous amount of code, there's no reason for
it to be generic. This just least to a huge amount of metadata which isn't
necessary. Instead, this change migrates the pretty printer to using a trait
object instead.
Closes #12985
2014-03-18 13:48:03 -07:00
Eduard Burtescu
e02aa722aa
Refactor pprust a bit.
2014-03-17 09:53:08 +02:00
Alex Crichton
a921dc4873
rustc: Remove compiler support for __log_level()
...
This commit removes all internal support for the previously used __log_level()
expression. The logging subsystem was previously modified to not rely on this
magical expression. This also removes the only other function to use the
module_data map in trans, decl_gc_metadata. It appears that this is an ancient
function from a GC only used long ago.
This does not remove the crate map entirely, as libgreen still uses it to hook
in to the event loop provided by libgreen.
2014-03-15 22:26:36 -07:00
Marvin Löbel
eb69eb36f8
Added support for type placeholders (explicit requested type
...
inference in a type with `_` ). This enables partial type inference.
2014-03-14 14:57:31 +01:00
Eduard Burtescu
cdc18b96d6
Remove Rc's borrow method to avoid conflicts with RefCell's borrow in Rc<RefCell<T>>.
2014-03-13 14:21:45 +02:00
Felix S. Klock II
189c0085d1
alpha-rename .ident to .name in Lifetime, including in rustdoc.
2014-03-12 08:02:32 +01:00
Liigo Zhuang
2271860af1
rename ast::ViewItemExternMod to ast::ViewItemExternCrate, and clean::ExternMod to clean::ExternCrate
2014-03-07 15:57:45 +08:00
Palmer Cox
6d9bdf975a
Rename all variables that have uppercase characters in their names to use only lowercase characters
2014-03-04 21:23:36 -05:00
Huon Wilson
c3b9047040
syntax: make match arms store the expr directly.
...
Previously `ast::Arm` was always storing a single `ast::Expr` wrapped in an
`ast::Block` (for historical reasons, AIUI), so we might as just store
that expr directly.
Closes #3085 .
2014-03-03 22:48:42 +11:00
Steven Fackler
4c2353adee
Make visible types public in rustc
2014-03-02 15:26:39 -08:00
Patrick Walton
198cc3d850
libsyntax: Fix errors arising from the automated ~[T]
conversion
2014-03-01 22:40:52 -08:00
Patrick Walton
58fd6ab90d
libsyntax: Mechanically change ~[T]
to Vec<T>
2014-03-01 22:40:52 -08:00
Eduard Burtescu
05e4d944a9
Replace callee_id with information stored in method_map.
2014-02-26 16:06:45 +02:00
Edward Wang
386db05df8
Make break and continue hygienic
...
Makes labelled loops hygiene by performing renaming of the labels
defined in e.g. `'x: loop { ... }` and then used in break and continue
statements within loop body so that they act hygienically when used with
macros.
Closes #12262 .
2014-02-23 21:20:37 +08:00
bors
edf351e9f7
auto merge of #12451 : edwardw/rust/ident-2-name, r=cmr
...
Closes #7743 .
2014-02-22 22:01:54 -08:00
Edward Wang
7607332805
Represent lifetimes as Names instead of Idents
...
Closes #7743 .
2014-02-22 04:05:33 +08:00
Brendan Zabarauskas
6943acd1a5
Reduce reliance on to_str_radix
...
This is in preparation to remove the implementations of ToStrRadix in integers, and to remove the associated logic from `std::num::strconv`.
The parts that still need to be liberated are:
- `std::fmt::Formatter::runplural`
- `num::{bigint, complex, rational}`
2014-02-22 03:56:16 +11:00
Alex Crichton
7bb498bd7a
Mass rename if_ok! to try!
...
This "bubble up an error" macro was originally named if_ok! in order to get it
landed, but after the fact it was discovered that this name is not exactly
desirable.
The name `if_ok!` isn't immediately clear that is has much to do with error
handling, and it doesn't look fantastic in all contexts (if if_ok!(...) {}). In
general, the agreed opinion about `if_ok!` is that is came in as subpar.
The name `try!` is more invocative of error handling, it's shorter by 2 letters,
and it looks fitting in almost all circumstances. One concern about the word
`try!` is that it's too invocative of exceptions, but the belief is that this
will be overcome with documentation and examples.
Close #12037
2014-02-20 09:16:52 -08:00
Alex Crichton
a41b0c2529
extern mod => extern crate
...
This was previously implemented, and it just needed a snapshot to go through
2014-02-14 22:55:21 -08:00
Eduard Burtescu
6e84023596
Removed the obsolete ast::CallSugar (previously used by do
).
2014-02-14 07:48:13 -08:00
Eduard Burtescu
a02b10a062
Refactored ast_map and friends, mainly to have Paths without storing them.
2014-02-14 08:43:29 +02:00
Flavio Percoco
968633b60a
Replace crate
usage with krate
...
This patch replaces all `crate` usage with `krate` before introducing the
new keyword. This ensures that after introducing the keyword, there
won't be any compilation errors.
krate might not be the most expressive substitution for crate but it's a
very close abbreviation for it. `module` was already used in several
places already.
2014-02-13 20:52:07 +01:00
Eduard Burtescu
b2d30b72bf
Removed @self and @Trait.
2014-02-07 00:38:33 +02:00
Alex Crichton
c765a8e7ad
Fixing remaining warnings and errors throughout
2014-02-03 10:39:23 -08:00
Alex Crichton
f9a32cdabc
std: Fixing all documentation
...
* Stop referencing io_error
* Start changing "Failure" sections to "Error" sections
* Update all doc examples to work.
2014-02-03 09:32:35 -08:00
Alex Crichton
b211b00d21
syntax: Remove io_error usage
2014-02-03 09:32:34 -08:00
Huon Wilson
c8947c14c3
syntax: remove the unused Vstore enum.
...
Seems to have been replaced by ExprVstore.
2014-02-02 02:59:04 +11:00
Huon Wilson
e39cd20a43
syntax: remove the handling of @str and @[] from the parser completely.
2014-02-02 02:59:04 +11:00
Huon Wilson
891ada9be1
syntax: convert LitBinary from @[u8] to Rc<~[u8]>.
2014-02-02 02:59:03 +11:00
Patrick Walton
4018d77f22
libsyntax: Remove an @str
in pretty printing
2014-02-02 01:44:49 +11:00
Patrick Walton
e5dc347ccf
libsyntax: Remove the interner_get
function and all uses
2014-02-02 01:44:49 +11:00
Patrick Walton
875c9ce30b
libsyntax: Remove many uses of token::ident_to_str
2014-02-02 01:44:49 +11:00
Patrick Walton
f9af11d6cc
libsyntax: Remove all @str
from the AST
2014-02-02 01:44:48 +11:00
Patrick Walton
b496d7bec2
libsyntax: Make float literals not use @str
2014-02-02 01:44:48 +11:00
Patrick Walton
8d6ef2e1b1
libsyntax: De-@str
pathnames
2014-02-02 01:44:48 +11:00
Patrick Walton
8e52b85d5a
libsyntax: De-@str
literal strings in the AST
2014-02-02 01:44:48 +11:00
Patrick Walton
70c5a0fbf7
libsyntax: Introduce an InternedString
type to reduce @str
in the
...
compiler and use it for attributes
2014-02-02 01:44:47 +11:00
Eduard Burtescu
7d967741c3
Implement default type parameters in generics.
2014-01-30 19:28:41 +02:00
bors
e3dc5f5bcd
auto merge of #11911 : kballard/rust/empty-functional-update, r=pcwalton
...
Fixes #8972
2014-01-30 05:06:30 -08:00
Kevin Ballard
2258243ad8
Allow empty functional updating of structs
...
Fixes #8972
2014-01-29 10:44:27 -08:00
Scott Lawrence
a6867e259b
Removing support for the do syntax from libsyntax and librustc.
...
Fixes #10815 .
2014-01-29 09:15:42 -05:00
Eduard Burtescu
15ba0c310a
Demote self to an (almost) regular argument and remove the env param.
...
Fixes #10667 and closes #10259 .
2014-01-27 14:31:24 +02:00
Salem Talha
cc61fc0994
Removed all instances of XXX in preparation for relaxing of FIXME rule
2014-01-26 14:42:53 -05:00
Simon Sapin
05ae134ace
[std::str] Rename from_utf8_owned_opt() to from_utf8_owned(), drop the old from_utf8_owned() behavior
2014-01-21 15:48:48 -08:00
Simon Sapin
bada25e425
[std::vec] Rename .pop_opt() to .pop(), drop the old .pop() behavior
2014-01-21 15:48:47 -08:00
Simon Sapin
aa66b91767
[std::vec] Rename .last_opt() to .last(), drop the old .last() behavior
2014-01-21 15:48:46 -08:00
Huon Wilson
39713b8295
Remove unnecessary parentheses.
2014-01-21 22:00:18 +11:00
bors
9bf85a250c
auto merge of #11598 : alexcrichton/rust/io-export, r=brson
...
* Reexport io::mem and io::buffered structs directly under io, make mem/buffered
private modules
* Remove with_mem_writer
* Remove DEFAULT_CAPACITY and use DEFAULT_BUF_SIZE (in io::buffered)
cc #11119
2014-01-17 12:02:07 -08:00
Alex Crichton
295b46fc08
Tweak the interface of std::io
...
* Reexport io::mem and io::buffered structs directly under io, make mem/buffered
private modules
* Remove with_mem_writer
* Remove DEFAULT_CAPACITY and use DEFAULT_BUF_SIZE (in io::buffered)
2014-01-17 10:00:47 -08:00
bors
9075025c7b
auto merge of #11485 : eddyb/rust/sweep-old-rust, r=nikomatsakis
2014-01-14 12:32:11 -08:00
Patrick Walton
119c6141f5
librustc: Remove @
pointer patterns from the language
2014-01-13 14:45:21 -08:00
Eduard Burtescu
509fc92a9b
Removed remnants of @mut
and ~mut
from comments and the type system.
2014-01-12 02:26:04 +02:00
bors
ff3d5d4603
auto merge of #11055 : pcwalton/rust/placement-box, r=pcwalton
...
r? @nikomatsakis
2014-01-09 16:11:18 -08:00
Patrick Walton
e12711540a
librustc: Implement placement box
for GC and unique pointers.
2014-01-09 16:05:34 -08:00
Eduard Burtescu
6b221768cf
libsyntax: Renamed types, traits and enum variants to CamelCase.
2014-01-09 22:25:28 +02:00
Alex Crichton
6df57ec2e2
Remove the io::Decorator trait
...
This is just an unnecessary trait that no one's ever going to parameterize over
and it's more useful to just define the methods directly on the types
themselves. The implementors of this type almost always don't want
inner_mut_ref() but they're forced to define it as well.
2014-01-08 23:42:28 -08:00
Patrick Walton
8092153634
libsyntax: Fix tests.
2014-01-03 22:22:40 -08:00
Patrick Walton
82a09b9a04
librustc: Remove @mut
support from the parser
2014-01-03 14:02:01 -08:00
Patrick Walton
6043957d8d
libsyntax: De-@mut
ps::boxes
2014-01-03 14:02:00 -08:00
Patrick Walton
5eafcc4f93
libsyntax: De-@mut
(and de-@
) Printer::print_stack
2014-01-03 14:02:00 -08:00
Patrick Walton
ada9150abf
libsyntax: Correctly de-@mut
the pretty printer writer
2014-01-03 14:01:59 -08:00
Patrick Walton
12ad1b0662
libsyntax: De-@mut
CurrentCommentAndLiteral
2014-01-03 14:01:58 -08:00
Patrick Walton
497b63ddf0
librustc: De-@mut
all writers
2014-01-03 14:01:58 -08:00
Patrick Walton
b26018cc89
librustc: De-@mut
(and de-@
) the pretty printer
2014-01-03 14:01:58 -08:00
Patrick Walton
4d66af2698
librustc: De-@mut
the span handler
2014-01-03 14:01:57 -08:00
bors
0df9b850ac
auto merge of #10696 : fhahn/rust/issue9543-remove-extern-mod-foo, r=pcwalton
...
This patch for #9543 throws an `obsolete syntax` error for `extern mod foo (name="bar")` .
I was wondering if [this](https://github.com/fhahn/rust/compare/mozilla:master...fhahn:issue9543-remove-extern-mod-foo?expand=1#diff-da9d34ca1d0f6beee2838cf02e07345cR4444 ) is the correct place to do this?
I think the wording of the error message could probably be improved as well.
If this approach is OK, I'm going to run the whole test suite tomorrow and update the old syntax to the new one.
2014-01-02 11:32:09 -08:00
Florian Hahn
f42a36cded
Remove extern mod foo (name="bar")
syntax, closes #9543
2014-01-01 23:36:57 +01:00
klutzy
9cdad685a3
syntax::codemap: Add static DUMMY_SP
...
It replaces `dummy_sp()`.
2014-01-01 19:51:35 +09:00
klutzy
fe10c63326
syntax::diagnostic: Remove unnecessary traits
...
This removes trait `handler` and `span_handler`,
and renames `HandlerT` to `Handler`, `CodemapT` to `SpanHandler`.
2014-01-01 19:10:43 +09:00
Seo Sanghyeon
4a13364010
Remove obsolete mutability from ast::Ty
2013-12-17 03:01:40 +09:00
Patrick Walton
a87786e3e9
librustc: Remove identifiers named box
, since it's about to become a keyword.
2013-12-15 10:41:15 -08:00
Erik Price
5731ca3078
Make 'self lifetime illegal.
...
Also remove all instances of 'self within the codebase.
This fixes #10889 .
2013-12-11 10:54:06 -08:00
Kevin Ballard
bd36b06f55
Support imports of the form use {foo,bar}
...
This fixes #10806 .
2013-12-10 23:15:19 -08:00
Seo Sanghyeon
3b14f25868
Extend allocation lint for boxing expressions
2013-12-10 01:17:32 +09:00
Huon Wilson
9d64e46013
std::str: remove from_utf8.
...
This function had type &[u8] -> ~str, i.e. it allocates a string
internally, even though the non-allocating version that take &[u8] ->
&str and ~[u8] -> ~str are all that is necessary in most circumstances.
2013-12-04 22:35:53 +11:00
Eduard Burtescu
a9c4b18b18
Box Block, fn_decl, variant and Ty in the AST, as they were inflating critical enum sizes.
2013-12-01 00:00:39 +02:00
Alex Crichton
ab387a6838
Register new snapshots
2013-11-28 20:27:56 -08:00
Patrick Walton
efc512362b
libsyntax: Remove all non-proc
do
syntax.
2013-11-26 08:24:18 -08:00
Huon Wilson
e36cb0d5c1
syntax: parse inner attributes on impls.
...
Fixes #3614 .
2013-11-25 19:18:44 +11:00
Seo Sanghyeon
8470639319
Remove ty_mac
2013-11-21 22:59:56 +09:00
bors
ea5d1dfb1c
auto merge of #10567 : sanxiyn/rust/bytepos, r=alexcrichton
2013-11-20 23:31:27 -08:00
Seo Sanghyeon
5e1e487624
Make BytePos 32-bit
2013-11-20 16:51:25 +09:00
Patrick Walton
492677ec1e
libsyntax: Change all uses of &fn
to ||
.
2013-11-19 12:40:19 -08:00
Brian Anderson
85f107d8cb
Use '..' as slice wildcard in vectors
2013-11-18 16:19:48 -08:00
Alex Crichton
49ee49296b
Move std::rt::io to std::io
2013-11-11 20:44:07 -08:00
Niko Matsakis
044dec4cf5
Fix pretty printer when there are multiple lifetime parameters
2013-11-08 22:25:22 -05:00
Niko Matsakis
bc3e842508
Update FIXMEs with issue numbers
2013-11-08 19:47:57 -05:00
Niko Matsakis
1f4faaee40
Generalize AST and ty::Generics to accept multiple lifetimes.
2013-11-08 19:42:46 -05:00
Luqman Aden
c669ccf3d3
libsyntax/librustc: Allow calling variadic foreign functions.
2013-11-04 23:53:11 -05:00
Patrick Walton
f27272d60f
librustc: Implement |A| -> B
syntax for closures and make bare fn
...
work
2013-10-31 10:30:32 -07:00
Patrick Walton
7e77bf1769
librustc: Implement the proc
type as sugar for ~once fn
and proc
...
notation for closures, and disable the feature gate for `once fn` if
used with the `~` sigil.
2013-10-29 10:34:17 -07:00
Joshua Yanovski
01ab8542fb
Field identifiers now include specific spans ( Closes #8263 ).
2013-10-28 22:57:34 -07:00
Luqman Aden
12308db3d2
libsyntax/librustc: Allow mut qualifier in patterns.
2013-10-25 01:21:07 -04:00
Alex Crichton
61ed2cfb55
Remove even more of std::io
...
Big fish fried here:
extra::json
most of the compiler
extra::io_util removed
extra::fileinput removed
Fish left to fry
extra::ebml
2013-10-24 14:21:57 -07:00
Luqman Aden
af163579ed
libsyntax/librustc: Allow specifying mut on ~self.
2013-10-22 21:22:19 -04:00
Luqman Aden
5754848f8c
libsyntax/librustc: Allow specifying mut on by-value self.
2013-10-22 21:21:21 -04:00
Alex Crichton
daf5f5a4d1
Drop the '2' suffix from logging macros
...
Who doesn't like a massive renaming?
2013-10-22 08:09:56 -07:00
Alex Crichton
273784e9bf
Optimize include_bin! for large inputs
...
Previously an ExprLit was created *per byte* causing a huge increase in memory
bloat. This adds a new `lit_binary` to contain a literal of binary data, which
is currently only used by the include_bin! syntax extension. This massively
speeds up compilation times of the shootout-k-nucleotide-pipes test
before:
time: 469s
memory: 6GB
assertion failure in LLVM (section too large)
after:
time: 2.50s
memory: 124MB
Closes #2598
2013-10-18 09:20:08 -07:00