Lindsey Kuper
dc29dead2e
Removing redundant "fail"s.
2011-06-02 18:15:29 -07:00
Patrick Walton
ad9afefa10
rustc: Typecheck patterns from the top down; remove pushdown_pat
2011-06-02 18:11:26 -07:00
Tim Chevalier
ba377c043d
Handle _|_ values properly in trans
...
Generate an LLVMUndef value of the proper type for an argument of
type _|_. Otherwise we get an LLVM assertion failure.
2011-06-02 17:52:04 -07:00
Tim Chevalier
468786e36d
Fix unification bug
...
Hello from SFO Terminal 3!
unify_fn_common had the expected and actual types reversed in one
place. This was causing the type of an occurence of a function f
with type fn(int) -> T to be set to fn(_|_) -> T at a call site like
f(fail); I think this was also making some of the type error messages
come out backwards, but I haven't checked.
Also: ty_bot does not contain pointers
2011-06-02 17:52:04 -07:00
Patrick Walton
c515ed13de
Merge pull request #450 from paulstansifer/quick_error_message_fix_2
...
Flatten functions and objects in trans::simplify_type.
2011-06-02 17:43:11 -07:00
Paul Stansifer
20bd927c3f
Flatten functions and objects in trans::simplify_type.
2011-06-02 17:40:12 -07:00
Graydon Hoare
cb61d7b38e
Pretty-print literals exactly as we saw them in the source.
2011-06-02 17:18:49 -07:00
Lindsey Kuper
3a6b5576ac
Refactor make_fp_cmp_glue and make_integral_cmp_glue into one.
2011-06-02 16:35:25 -07:00
Paul Stansifer
1377e9b341
Implement pcwalton's code review suggestions.
2011-06-02 15:12:17 -07:00
Paul Stansifer
5cd10d2fef
Error message, instead of segfault, when recursive types are used.
2011-06-02 14:03:17 -07:00
Patrick Walton
12f86e6f2f
rustc: Print node IDs for more types of nodes
2011-06-02 11:29:17 -07:00
Patrick Walton
7c6a0f189e
rustc: Tiny style fix in pprust::rust_printer
2011-06-02 11:29:17 -07:00
Patrick Walton
78374d11ce
rustc: Add a new mode to the pretty printer that prints out node IDs, for debugging
2011-06-01 18:53:52 -07:00
Patrick Walton
eae3036179
rustc: Remove else-after-return in main
2011-06-01 18:38:00 -07:00
Patrick Walton
d43f60e5d4
rustc: Fold --pretty and --typed-pretty into a single option with an optional argument
2011-06-01 18:32:05 -07:00
Tim Chevalier
24c9d7e5f8
Improve type error message for non-constructor in pattern
2011-06-01 18:15:12 -07:00
Tim Chevalier
1402cd101b
Redo typestate-related data structures to support predicate constraints. No actual support yet, just infrastructure.
2011-06-01 18:14:48 -07:00
Tim Chevalier
af4554aadf
Add a few more to_str functions
2011-06-01 17:47:59 -07:00
Tim Chevalier
ac4ef1741e
Allow constraint args to be literals
2011-06-01 17:45:13 -07:00
Lindsey Kuper
528c6516f0
Use span_err instead of err. Fixes issue #444 .
2011-06-01 17:22:23 -07:00
Patrick Walton
af9272f70e
rustc: Remove rustboot workaround from walk::default_visitor()
2011-06-01 16:52:22 -07:00
Patrick Walton
8851ae0423
rustc: Allow walking over patterns
2011-06-01 16:47:24 -07:00
Graydon Hoare
1f915ef7ce
Permit breaking before fn args block.
2011-06-01 16:39:31 -07:00
Lindsey Kuper
dba9caeba9
Comments.
2011-06-01 16:39:52 -07:00
Graydon Hoare
1b67fbdfd3
More tweaks to comment preservation rules.
2011-06-01 15:29:38 -07:00
Graydon Hoare
198f6a247e
Print iters as iters not fns.
2011-06-01 13:18:16 -07:00
Graydon Hoare
023bbc0449
Add a space after @mutable.
2011-06-01 13:12:12 -07:00
Graydon Hoare
19f85cc9c4
Print ty_bot properly.
2011-06-01 13:08:08 -07:00
Rafael Ávila de Espíndola
a6ca9c2922
Don't create an empty section.
2011-06-01 15:59:28 -04:00
Rafael Ávila de Espíndola
30efdeeca1
Visibility is an ELF concept and protected visibility is not very well implemented,
...
avoid using it for now.
Instead, mark pairs that are not needed elsewhere as internal.
2011-06-01 15:45:31 -04:00
Graydon Hoare
2ef2bda276
Move brace/if/for/while/do/alt/spawn exprs into bottom_expr rule.
2011-06-01 12:42:28 -07:00
Graydon Hoare
4eef7b613c
Bug fixes to pprust.
2011-06-01 12:26:42 -07:00
Graydon Hoare
e5dc138dfa
Buffer pending whitespace in printer so as not to introduce trailing whitespace lines.
2011-06-01 12:01:42 -07:00
Graydon Hoare
681f0c7a2b
Support printing globs.
2011-06-01 11:39:20 -07:00
Graydon Hoare
ae16639dfa
Slightly more aggressive about inserting whitespace. Getting frustrated with comments.
2011-06-01 11:39:20 -07:00
Lindsey Kuper
649a7bf38a
Comments and cleanup.
2011-06-01 11:34:52 -07:00
Paul Stansifer
9f5dddf08c
Now imports are not re-exported unless 'export' is explicitly used.
2011-05-31 18:43:26 -07:00
Graydon Hoare
0235e742f6
Give up on use of huge_word for comments. Still not formatting quite right, but closer.
2011-05-31 17:39:15 -07:00
Michael Sullivan
f4df2e4974
Fix pretty printer for move.
2011-05-31 17:39:14 -07:00
Michael Sullivan
fd1029e6dd
Support move as an initializer.
2011-05-31 17:39:14 -07:00
Michael Sullivan
c232964301
Implement move semantics.
2011-05-31 17:39:14 -07:00
Michael Sullivan
5e7bba3d23
Insert plumbing for move that behaves just like assign.
2011-05-31 17:39:14 -07:00
Eric Holk
84a56ed7cd
Teach the compiler to understand yield and join, as well as using task as a type name.
2011-05-31 16:28:13 -07:00
Brian Anderson
9daa00bf83
rustc: Teach rustc to use block results as fn return values. Closes #372
2011-05-31 19:18:55 -04:00
Graydon Hoare
223c7dfb11
Fix comment-scanning logic in lexer.
2011-05-31 15:31:50 -07:00
Graydon Hoare
2de1a4bb1b
Handle pretty-printing else-if properly.
2011-05-31 12:58:02 -07:00
Rafael Ávila de Espíndola
cc96eeafca
Move rust_vec_append_glue to rt.
2011-05-31 14:32:08 -04:00
Graydon Hoare
b6971d94df
Consolidate formatting functions a bit more.
2011-05-31 11:00:47 -07:00
Graydon Hoare
55e3cd41de
Fix utility printers to flush eof in common.rs.
2011-05-31 11:00:47 -07:00
Graydon Hoare
1811513552
Fix long lines
2011-05-31 11:00:47 -07:00