bors
6efa3543a8
auto merge of #4922 : jbclements/rust/add-deriving-eq-to-asts, r=catamorphism
...
r?
Apply deriving_eq to the data structures in ast.rs, and get rid of the custom definitions of eq that were everywhere. resulting ast.rs is about 400 lines shorter.
Also: add a few test cases and a bunch of comments.
Also: change ast_ty_to_ty_cache to use node ids rather than ast::ty's. I believe this was a suggestion related to my changes, and it appears to pass all tests.
Also: tiny doc fix, remove references to crate keywords.
2013-02-13 18:49:29 -08:00
Nick Desaulniers
4445b38df2
Remove die!, raplace invocations with fail! Issue #4524 pt 3
2013-02-13 17:01:32 -08:00
John Clements
819c6d1c04
deriving-eq all over ast
2013-02-13 15:08:27 -08:00
Niko Matsakis
a32498d846
Make ~fn non-copyable, make &fn copyable, split barefn/closure types,
...
correct handling of moves for struct-record update.
Part of #3678 . Fixes #2828 , #3904 , #4719 .
2013-02-07 05:53:30 -08:00
John Clements
53688addaa
test cases, cleanup
2013-01-31 23:05:12 -08:00
Nick Desaulniers
aee7929469
Replace most invocations of fail keyword with die! macro
2013-01-31 20:12:49 -08:00
Patrick Walton
366812a5c3
librustc: Change self
as a type to Self
everywhere. r=brson
2013-01-30 19:52:45 -08:00
Patrick Walton
95b892c8a7
libsyntax: De-export a lot of libsyntax. rs=deëxporting
2013-01-29 13:55:30 -08:00
Patrick Walton
eb4d39e1fe
libstd: Remove "dual impls" from the language and enforce coherence rules. r=brson
...
"Dual impls" are impls that are both type implementations and trait
implementations. They can lead to ambiguity and so this patch removes them
from the language.
This also enforces coherence rules. Without this patch, records can implement
traits not defined in the current crate. This patch fixes this, and updates
all of rustc to adhere to the new enforcement. Most of this patch is fixing
rustc to obey the coherence rules, which involves converting a bunch of records
to structs.
2013-01-29 10:42:45 -08:00
Patrick Walton
54b2cad8b3
libsyntax: Remove fn() unsafe { ... }
. r=graydon
2013-01-23 14:41:08 -08:00
Patrick Walton
2db3abddcd
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37
Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
...
This reverts commit a8d37af247
.
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 19:27:57 -08:00
Niko Matsakis
c3a74d87bd
Implement GLB algorithm. (Issue #2263 )
...
r=brson
2013-01-08 15:41:53 -08:00
Patrick Walton
57c599914a
librustc: Terminate name searches at the nearest module scope for paths that contain at least two components. r=graydon
2012-12-27 10:02:54 -08:00
Erick Tryzelaar
8650c6f683
Switch from serialization to std::serialize. (snapshot)
2012-12-17 20:00:36 -08:00
Brian Anderson
9723d3ac2f
Remove transitional code
2012-12-09 17:59:21 -08:00
Brian Anderson
4ab1c8805a
Convert Num to explicit self
2012-12-05 19:23:13 -08:00
Patrick Walton
b8cfd5c414
librustc: Long lines. rs=rustbot
2012-12-04 21:13:02 -08:00
Patrick Walton
56ece46f7d
librustc: Remove all legacy pattern bindings from libsyntax and librustc. rs=refactoring
2012-12-04 14:19:19 -08:00
Graydon Hoare
00c856c0b1
Update license, add license boilerplate to most files. Remainder will follow.
2012-12-03 17:12:14 -08:00
Graydon Hoare
d783f4d7bb
libs: Remove transitionary material on iter_bytes, add workcache to build.
2012-11-30 10:33:16 -08:00
Brian Anderson
fc06114ddf
Merge remote-tracking branch 'brson/companion' into incoming
...
Conflicts:
src/compiletest/compiletest.rs
src/libcargo/cargo.rs
src/libcore/core.rs
src/librustc/rustc.rs
src/librustdoc/rustdoc.rc
2012-11-28 13:17:33 -08:00
Brian Anderson
8179e268ef
Register snapshots
2012-11-28 12:33:00 -08:00
Patrick Walton
669fbddc44
librustc: Add explicit self to IterBytes. r=nmatsakis
2012-11-28 11:36:04 -08:00
Patrick Walton
318e534895
rustc: Implement explicit self for Eq and Ord. r=graydon
2012-11-19 15:33:11 -08:00
Brian Anderson
e621e68c60
Remove unused MultiByteChar.sum field from codemap
2012-11-16 15:52:33 -08:00
Brian Anderson
7c72fd89f1
Add some docs to codemap
2012-11-16 15:15:17 -08:00
Brian Anderson
2af088529f
Remove incorrect comment from codemap
2012-11-16 14:55:52 -08:00
Brian Anderson
1ac28c36ac
Remove unused types from codemap
2012-11-16 14:35:43 -08:00
Brian Anderson
4a5b28ff0c
Stop tracking CodeMap offsets in the parse session. Big simplification
2012-11-16 14:22:09 -08:00
Brian Anderson
2374154ded
Stop storing char positions in CodeMap
2012-11-16 14:10:17 -08:00
Brian Anderson
81d20156cd
Change spans to use byte offsets instead of char offsets
2012-11-16 12:06:44 -08:00
Brian Anderson
8cba337cce
Remove CodeMap.lookup_byte_pos
2012-11-15 17:32:14 -08:00
Brian Anderson
d5e35e3e87
Convert CodeMap and FileMap to use &self instead of @self
2012-11-15 15:00:49 -08:00
Brian Anderson
bcccf333ab
Add some comments to codemap and lexer
2012-11-15 14:43:31 -08:00
Brian Anderson
4a0f4f5e31
Refactor the lexer to use FilePos types
2012-11-15 14:24:53 -08:00
Brian Anderson
b1dff40bae
Create CodeMap.add_filemap
2012-11-14 21:56:58 -08:00
Brian Anderson
3a9ccd53e5
Factor out some position management code in the lexer
2012-11-14 21:56:55 -08:00
Brian Anderson
8069d2f266
Track character and byte positions together in the parser
2012-11-14 16:34:50 -08:00
Brian Anderson
f67bfe9738
Add types for character position and byte position in the codemap
2012-11-14 15:18:29 -08:00
Brian Anderson
9ecf86343a
Camel case all the codemap types except span
2012-11-14 15:18:26 -08:00
Brian Anderson
38b9740668
Remove unused get_snippet function from codemap
2012-11-12 18:36:03 -08:00
Brian Anderson
b22f941487
Make it clearer which codemap functions use chars vs. bytes
2012-11-12 18:35:17 -08:00
Brian Anderson
2ec09c4eb9
Objectify the codemap
2012-11-12 18:24:56 -08:00
Brian Anderson
15a5d2ccbf
Convert codemap from legacy_exports
2012-11-12 17:26:02 -08:00
Brian Anderson
d115944809
Remove expn_info box typedef from codemap
2012-11-12 17:19:56 -08:00
Brian Anderson
18a825bda0
Reorder codemap decls
2012-11-12 17:14:15 -08:00
Brian Anderson
5b248a6ca8
Remove CodeMap box typedef from codemap
2012-11-12 17:09:52 -08:00
Brian Anderson
385a4668e5
Reformatting in codemap
2012-11-12 16:47:17 -08:00