Commit Graph

14578 Commits

Author SHA1 Message Date
Tim Chevalier
80435ad429 Make self visible when typechecking nested functions
Necessary to allow supertrait methods to be called in default methods.

r=nikomatsakis
2013-01-08 13:56:26 -08:00
Tim Chevalier
2d1ce01a8a Suppress error messages about function types whose result is ty_err
Ideally we would suppress error messages involving any types that
contain ty_err, but that's awkward to do right now.
2013-01-08 13:56:26 -08:00
Brian Anderson
b43e639bf6 Remove unused bigint from runtime 2013-01-08 13:53:45 -08:00
Tim Chevalier
2791877009 Merge pull request #4388 from lkuper/alt-to-match
Rename identifiers that still use 'alt' to use 'match'
2013-01-08 13:49:21 -08:00
asdf
dd73dd0e37 removing checks from vec::bytes::memcpy and memmove as are duplicated from raw:: 2013-01-08 13:25:23 -08:00
asdf
4096c9f25f adding bound checks for raw::memcpy and memmove 2013-01-08 13:25:23 -08:00
Lindsey Kuper
816cb8c535 Rename identifiers that still use 'alt' to use 'match'
This'll be less confusing for anyone who works on match in future.
2013-01-08 14:31:58 -05:00
Brian Anderson
2d9b1fee8f Merge remote-tracking branch 'gifnksm/bigint' into kind-names 2013-01-08 11:28:56 -08:00
Patrick Walton
722d670c85 test: Fix botched regex. rs=bustage 2013-01-08 10:35:20 -08:00
Patrick Walton
1f667e7995 test: Regular expression mistake. rs=bustage 2013-01-07 22:13:34 -08:00
Patrick Walton
fcc470c0ee test: Fix check-fast for resolve changes. rs=bustage 2013-01-07 18:55:12 -08:00
Niko Matsakis
16ec9aa6e7 Support assignability for struct fields. r=pcwalton 2013-01-07 18:46:37 -08:00
Tim Chevalier
4557f70487 Revert "Suppress type error message involving a function type whose result is ty_err"
This reverts commit e45312e5a0.
2013-01-07 18:27:20 -08:00
Tim Chevalier
7b433d098a Revert "Change the self def_id to a self_info in typeck, and inherit"
This reverts commit 921393c568.
2013-01-07 18:18:22 -08:00
Tim Chevalier
0e774de766 Revert "Improve a typeck ICE message (slightly)"
This reverts commit c662a9aad7.
2013-01-07 18:15:44 -08:00
Tim Chevalier
921393c568 Change the self def_id to a self_info in typeck, and inherit
That is, treat `self` as if it has dynamic scope. This seems to
be harmless, and prevents an ICE as per #3563
2013-01-07 18:08:19 -08:00
Tim Chevalier
fb9458e1ec xfail broken tests 2013-01-07 18:05:18 -08:00
Tim Chevalier
86db69def2 Revert "xfail broken tests"
This reverts commit d771830c4c.
2013-01-07 18:04:30 -08:00
Tim Chevalier
d771830c4c xfail broken tests 2013-01-07 18:04:01 -08:00
Tim Chevalier
e45312e5a0 Suppress type error message involving a function type whose result is ty_err
In general it would be good to suppress any messages involving types that
have ty_err as a sub-component, but this works for now.
2013-01-07 16:14:25 -08:00
Tim Chevalier
c662a9aad7 Improve a typeck ICE message (slightly) 2013-01-07 16:14:25 -08:00
Patrick Walton
8bf38b26ee librustc: Fix some librustc test modes. rs=bustage 2013-01-07 15:37:48 -08:00
Tim Chevalier
aed94a3eb1 Merge pull request #4372 from apasel422/fmt2
Modernize core::extfmt::ct
2013-01-07 14:35:57 -08:00
Andrew Paseltiner
1d4c5d90bd fmt: add unit tests 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
73649f36e8 fmt: derive Eq for all types 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
0429493363 fmt: fix formatting and style 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
428abb3d97 fmt: simplify parse_fmt_string 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
9e5a4166d5 fmt: simplify parse_conversion 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
af298deff7 fmt: simplify parse_parameter 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
4550cb0562 fmt: simplify parse_precision 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
9c383deaa6 fmt: simplify parse_count 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
f4bc9e6d57 fmt: simplify parse_flags 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
51b141e3e4 fmt: simplify parse_type 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
0a17ab2a9c fmt: replace parse_* structural records with struct Parsed<T> 2013-01-07 17:22:01 -05:00
Andrew Paseltiner
1a2a8975bc fmt: replace Conv record with struct Conv 2013-01-07 17:22:01 -05:00
Patrick Walton
53f41f07ce librustc: Make vectors no longer implicitly copyable in rustc. r=graydon
~20% perf win for trans on -O0, with other minor improvements across the board.
No effect on -O2.
2013-01-07 14:17:36 -08:00
Tim Chevalier
09758f7072 Merge pull request #4357 from jld/constenum-bonus-fix
Trivial cleanup: use enum_is_univariant; no functional change intended.
2013-01-07 13:40:45 -08:00
Tim Chevalier
78aad60062 Merge pull request #4358 from jld/constenum-unit
Fix consts of nullary univariant enum type.
2013-01-07 13:40:05 -08:00
Patrick Walton
3a570075b1 librustc: Remove unused mod_path_map. This was expensive to build. Saves another 15% or so. r=tjc 2013-01-07 12:54:46 -08:00
Patrick Walton
9f387926fc librustc: Fold rt items into lang items. Shaves another 10% or so off hello world compile time. 2013-01-07 12:21:34 -08:00
Patrick Walton
d2d1d98968 librustc: Encode language items into a special lookup table. 9% improvement in hello world compile time. 2013-01-07 10:51:53 -08:00
Patrick Walton
0ab7f9129e librustc: Refactor language items to have IDs. rs=refactor
Preparation for fixing the performance problems with language item collection.
2013-01-06 12:05:34 -08:00
Patrick Walton
96e01a67c7 librustc: Convert some large structural records over to structs. rs=perf
No effect on compile-time performance.
2013-01-06 11:16:14 -08:00
Patrick Walton
fa96740923 librustc: Remove some string allocations. rs=perf 2013-01-05 19:33:37 -08:00
Patrick Walton
1070cc0109 librustc: Fix unconditional ty_to_str call in ty.rs. Was heaviest path in allocation. Negligible perf win. rs=perf-fix 2013-01-05 18:41:22 -08:00
Patrick Walton
6c18c75f2d rt: Stop zeroing out all allocations. Unobservable perf win. Closes #2682. rs=negligible-perf-win 2013-01-05 18:04:29 -08:00
Jed Davis
3e7ab3a443 Add a test for nullary univariant enums. 2013-01-05 00:49:01 -08:00
Jed Davis
6043a72774 Make consts of degenerate nullary enums not ICE.
This makes the const construction code match the logic in type_of.
2013-01-05 00:24:38 -08:00
Jed Davis
8f8b417811 Trivial cleanup: use enum_is_univariant; no functional change intended. 2013-01-05 00:24:33 -08:00
Patrick Walton
7b245d46ed librustc: Stop generating first-class aggregates in visit glue, since they kick us off fast isel. Closes #4352. rs=minor-perf-improvement 2013-01-04 23:07:58 -08:00