Commit Graph

447 Commits

Author SHA1 Message Date
Tim Chevalier
2bb3b63ec4 Eliminate a copy in syntax::parse::new_parser_from_file
Fixing a FIXME turned out to be pretty involved. I added an io function
that returns a unique boxed string (for the contents of a file) rather than
a string, and went from there. Also made the src field of codemap a unique
boxed string. This doesn't seem to make that much difference in amount of
allocation according to valgrind (disappointingly), but I also had to introduce
a copy somewhere else pending a new snapshot, so maybe that's it.
2012-04-30 10:44:31 -07:00
Niko Matsakis
825fd1808e lots of work to make iface/impls parameterized by regions
- paths can now take region parameters, replacing the dirty hack
  I was doing before of abusing vstores.  vstores are now a bit
  of a hack though.

- fix various small bugs:
  - we never checked that iface types were compatible when casting
    to an iface with `as`
  - we allowed nonsense like int<int>
  - and more! (actually that may be it)
2012-04-25 19:26:56 -07:00
Tim Chevalier
f7641286b2 Allow classes to be cast to ifaces that are in the same crate
I had to xfail one existing test case (class-implements-int) because,
I think, of the same bug described in #2272.
2012-04-23 21:15:03 -07:00
Tim Chevalier
1c39fda0ea Rename option::get_or_default to get_default, for consistency 2012-04-23 20:52:50 -07:00
Marijn Haverbeke
9053f54498 Move map iface over to more for-friendly iteration methods 2012-04-23 15:18:19 +02:00
Brian Anderson
628e80d525 syntax: Extract attribute parsing to its own mod 2012-04-19 21:58:45 -07:00
Niko Matsakis
3c995fb8f3 make nominal types optionally parameterized by a self region.
Issue #2201.
2012-04-19 21:01:11 -07:00
Brian Anderson
9a8a04629e syntax: Put the main parser interface in mod parse 2012-04-18 10:50:50 -07:00
Niko Matsakis
4c26d70a0a new debug flag, new test 2012-04-17 12:02:36 -07:00
Brian Anderson
4f576275be syntax: Cleanup attr module. Closes #1545 2012-04-15 01:43:38 -07:00
Graydon Hoare
8a7fd4a04f Support general warnings and errors in lint pass via flags and attrs. Close #1543. 2012-04-12 17:31:49 -07:00
Brian Anderson
599cbf7a6b rustdoc: Use parallel map by default 2012-04-08 13:46:11 -07:00
Tim Chevalier
9d274ec5f2 Re-rename option functions
get_with_default (nee from_maybe) => get_default
with_option (nee maybe) => map_default
with_option_do (nee may) => iter

As per discussion of 21be1379d5
2012-04-06 12:20:13 -07:00
Marijn Haverbeke
c902eafa14 Convert old-style for loops to new-style
Most could use the each method, but because of the hack used to
disambiguate old- and new-style loops, some had to use vec::each.

(This hack will go away soon.)

Issue #1619
2012-04-06 20:38:23 +02:00
Brian Anderson
d13c0c77a2 Explicitly use version 0.2 of crates 2012-04-05 20:29:42 -07:00
Brian Anderson
bd97ee6520 rustdoc: Remove stray binary 2012-04-03 19:01:00 -07:00
Tim Chevalier
21be1379d5 Rename some core::option functions
from_maybe => get_with_default
maybe => with_option
may => with_option_do

I know these names are kind of ridiculous, but it's the best I could think of.
Feel free to bikeshed. Closes #2081
2012-04-02 16:12:49 -07:00
Brian Anderson
0e87039348 rustc: Remove the rustsyntax::attr wrapper in front 2012-03-29 14:42:31 -07:00
Graydon Hoare
b37d7e26fe Update crate URLs to point to interesting things. 2012-03-28 13:52:47 -07:00
Graydon Hoare
6e6798c4e1 Bulk-edit mutable -> mut. 2012-03-26 18:35:18 -07:00
Marijn Haverbeke
87e097a853 Disallow ret inside of block functions
Also adds proper checking for cont/break being inside a loop.

Closes #1854
Issue #1619
2012-03-26 12:45:47 +02:00
Niko Matsakis
042c532a08 Implement new inference algorithm. 2012-03-23 21:47:28 -07:00
Brian Anderson
f3fe85dad7 Bump version numbers to 0.2 2012-03-22 15:25:02 -07:00
Graydon Hoare
b224bcf6e1 Add an LLVM-instruction-counting mode to trans.
Pipe to xdu to see a trans call graph of generated insns.
2012-03-22 13:44:20 -07:00
Niko Matsakis
dc07280b08 make --enforce-mut-vars always on, add mut annotations to remaining files 2012-03-22 09:58:19 -07:00
Josh Matthews
8142438938 Avoid mangling names differently in debug builds to work around a build error. Fix up file name and path debug information, and build one compilation unit for a crate instead of one per source file. 2012-03-21 18:56:36 -04:00
Brian Anderson
1695148b5d rustdoc: Refactor reexport_pass 2012-03-20 14:54:40 -07:00
Brian Anderson
651aeea961 rustdoc: Document impl reexports 2012-03-20 14:54:40 -07:00
Brian Anderson
f3ed738399 rustdoc: Run the entire resolve pass 2012-03-20 14:54:40 -07:00
Marijn Haverbeke
7a34ac5890 Revert order of arguments to option::maybe and from_maybe
Closes #2019
2012-03-20 14:55:07 +01:00
Brian Anderson
4c4ac05f02 rustdoc: Print type params in fn sigs. Closes #2021 2012-03-18 21:41:57 -07:00
Brian Anderson
47d468f08c core: Store reexporting result and either. Closes #1997 2012-03-16 15:14:37 -07:00
Brian Anderson
ddbd02aaf2 rustdoc: Allow elipses to appear in brief descriptions. Closes #2003 2012-03-16 14:50:30 -07:00
Brian Anderson
0b0ecc662b rustdoc: Escape backslashes 2012-03-16 12:20:29 -07:00
Marijn Haverbeke
0e5da379dd Turn on monomorphization by default 2012-03-15 08:59:29 +01:00
Brian Anderson
3864d6d845 std: Rename the hashmap constructors to conform to new standards
Instead of using the new_ prefix just name them after their type
2012-03-14 18:19:08 -07:00
Brian Anderson
b968c8e6cd Name types after their modules instead of 't' 2012-03-13 15:14:17 -07:00
Brian Anderson
cd72b1f848 Overhaul constructor naming in libs 2012-03-13 11:07:22 -07:00
Graydon Hoare
6f5853f5a1 Libc/os/run/rand/io reorganization. Close #1373. Close #1638.
- Move io, run and rand to core.
 - Remove incorrect ctypes module (use libc).
 - Remove os-specific modules for os and fs.
 - Split fs between core::path and core::os.
2012-03-12 20:08:29 -07:00
Brian Anderson
8f071bb841 rustdoc: Add indexes to native mods. Closes #1963 2012-03-11 16:36:20 -07:00
Tim Chevalier
eb9d0e89d1 wibble 2012-03-10 20:36:48 -08:00
Brian Anderson
91e5a1c8b3 core: Remove the nearly empty math module
This mod only had two functions, all of whose users have been changed
to use the uint module.
2012-03-10 17:43:19 -08:00
Brian Anderson
a5368fb6d8 rustdoc: Put native mods on their own pages. Closes #1959 2012-03-10 16:44:48 -08:00
Brian Anderson
474ad2e4de rustdoc: Fix native mod breakage 2012-03-10 16:43:38 -08:00
Brian Anderson
4bbe33c8eb rustdoc: Write page titles 2012-03-10 16:21:23 -08:00
Brian Anderson
78d539927a rustdoc: Remove unused fn 2012-03-10 15:42:08 -08:00
Brian Anderson
d54d9b1cab rustdoc: Fix generation of impl links. Closes #1953 2012-03-10 15:38:52 -08:00
Tim Chevalier
a0521971b1 Merge branch 'master' into floop-for-snapshot 2012-03-09 22:16:52 -08:00
Brian Anderson
e2dad03f44 rustdoc: Change the formatting for enum variants 2012-03-09 21:20:51 -08:00
Brian Anderson
f9755c666d rustdoc: Simplify attribute parsing 2012-03-09 18:13:14 -08:00
Brian Anderson
effe4559d2 rustdoc: Accept the first sentence as the brief description 2012-03-09 18:13:14 -08:00
Brian Anderson
4fc5b822e2 rustdoc: Simplify the relation between the brief and long description
Brief is just used for indexes now
2012-03-09 18:13:14 -08:00
Brian Anderson
0905ad2bbe rustdoc: Vastly simplify the document model
Don't attempt to impose any structure for documenting arguments, return
values, etc.
2012-03-09 17:24:56 -08:00
Brian Anderson
9f4c0d71e5 rustdoc: Update the demo module 2012-03-09 17:24:56 -08:00
Brian Anderson
e399263b5e rustdoc: Write sections in markdown 2012-03-09 17:24:56 -08:00
Brian Anderson
0ad8265fee rustdoc: Add the concept of 'sections' 2012-03-09 17:24:55 -08:00
Tim Chevalier
321fd80219 Add an infinite loop construct
Add a loop {} construct for infinite loops, and use it in test
cases. See #1906 for details.
2012-03-09 16:40:58 -08:00
Brian Anderson
256146bba4 rustdoc: Rename desc_pass to text_pass 2012-03-08 17:00:03 -08:00
Tim Chevalier
0c5fdc8745 Rename last to last_opt, last_unsafe to last
As per discussion on IRC. I am about to file an RFC for further
discussion about the more general issue of whether to enforce
invariants through types, typestate, or dynamic checks, but for now,
removing the misleading name "last_unsafe".
2012-03-08 15:25:56 -08:00
Brian Anderson
57596cbe53 rustdoc: Improve formatting of subsection headers 2012-03-08 15:05:13 -08:00
Brian Anderson
7d686d6372 rustdoc: Format return values consistently 2012-03-08 15:05:13 -08:00
Brian Anderson
6ad653bb31 rustdoc: Add some more demo docs 2012-03-08 15:05:13 -08:00
Brian Anderson
ac8b2c8354 rustdoc: Don't bother reporting the type of return values 2012-03-08 15:05:13 -08:00
Brian Anderson
5c28b2c1d1 rustdoc: Don't bother reporting the type of arguments
This is already displayed in the function signature. Simpler this way.
2012-03-08 15:05:13 -08:00
Tim Chevalier
ebc1d3e704 Rename last_total to last_unsafe
See Issue 1943 for any discussion (reopen it if necessary).

Closes #1943
2012-03-08 13:07:31 -08:00
Marijn Haverbeke
fd465f91a8 Drop collect_items pass, create decls on demand
This solves a problem with inlined functions that have inner functions.
2012-03-08 21:17:32 +01:00
Brian Anderson
bdec806848 rustdoc: Look for pandoc in ~/.cabal 2012-03-07 19:22:02 -08:00
Patrick Walton
c9375fed8d stdlib: Stop incurring vtable dispatch costs when hashmaps are used
This required changing almost all users of hashmaps to import the hashmap interface first.

The `size` member in the hashmap structure was renamed to `count` to work around a name conflict.
2012-03-07 17:35:13 -08:00
Patrick Walton
c245d9e980 Revert "stdlib: Stop incurring vtable dispatch costs when hashmaps are used"
This reverts commit f0250a23d3.
2012-03-07 16:56:45 -08:00
Patrick Walton
f0250a23d3 stdlib: Stop incurring vtable dispatch costs when hashmaps are used
This required changing almost all users of hashmaps to import the hashmap interface first.

The `size` member in the hashmap structure was renamed to `count` to work around a name conflict.
2012-03-07 16:51:31 -08:00
Brian Anderson
a9bd76b3c1 rustdoc: Implement more rules for generating internal pandoc links 2012-03-07 15:45:16 -08:00
Brian Anderson
7f66df714a rustdoc: Support #[doc(hidden)] 2012-03-07 14:50:39 -08:00
Brian Anderson
e55d7d6add rustdoc: Remove escaping pass 2012-03-06 20:31:05 -08:00
Brian Anderson
e536e8a933 rustdoc: Don't escape characters between backticks 2012-03-06 20:16:53 -08:00
Brian Anderson
cf8f5b7606 rustdoc: Escape HTML special characters 2012-03-06 17:46:52 -08:00
Brian Anderson
29ac3c811d rustdoc: Put brief descriptions in the indexes 2012-03-06 17:16:25 -08:00
Brian Anderson
a4ff220133 rustdoc: Write links correctly for multi-page docs 2012-03-06 17:16:25 -08:00
Brian Anderson
801b02b25d rustdoc: Parallelize markdown_pass 2012-03-06 17:16:25 -08:00
Brian Anderson
513d956dce rustdoc: Run pandoc in a way that won't deadlock waiting for IO 2012-03-06 17:16:25 -08:00
Brian Anderson
dea19b25c9 rustdoc: Detect when pandoc isn't available 2012-03-06 14:48:47 -08:00
Brian Anderson
b8c8e43381 rustdoc: Add some more error reporting for pandoc 2012-03-06 14:48:47 -08:00
Brian Anderson
fc9b55d65f rustdoc: Write a new file for each page 2012-03-06 14:48:47 -08:00
Brian Anderson
fbd8a76e8a rustdoc: Add a pass to split the document into pages 2012-03-06 14:48:47 -08:00
Brian Anderson
3c0e984449 rustdoc: Remove Google's copyright notice
There is no Google code left.
2012-03-06 11:25:27 -08:00
Niko Matsakis
712dd23541 make inline enabled by default 2012-03-06 09:01:40 -08:00
Marijn Haverbeke
4e4bd585cd Track all exports in exp_map
This is needed because the reachability checker needs to be able to
follow exports.

Issue #1934
2012-03-06 17:11:30 +01:00
Brian Anderson
1d826b735c rustdoc: Build appropriate filenames for pages 2012-03-04 00:23:54 -08:00
Brian Anderson
0e3cee747a rustdoc: Convert markdown writer to a writer_factory 2012-03-03 23:56:38 -08:00
Brian Anderson
0b2ffa854f rustdoc: Simplify the markdown_pass interface a bit 2012-03-03 23:20:40 -08:00
Brian Anderson
2cdb662022 rustdoc: Remove some bogus error handling around process spawning 2012-03-03 22:09:31 -08:00
Brian Anderson
f8742b476f rustdoc: Introduce the concept of a 'page' 2012-03-03 21:56:17 -08:00
Brian Anderson
3d991bac6c rustdoc: Whitespace 2012-03-02 16:27:31 -08:00
Brian Anderson
87b9d67b66 rustdoc: Write indexes in output 2012-03-02 16:20:53 -08:00
Brian Anderson
3d67939c41 rustdoc: Begin constructing indexes 2012-03-02 15:17:27 -08:00
Brian Anderson
78bfdb11c8 Revert "rust: xfail-fast run-pass/cci_no_inline_exe"
This reverts commit 95099cddcf.
2012-03-02 13:46:02 -08:00
Brian Anderson
95099cddcf rust: xfail-fast run-pass/cci_no_inline_exe 2012-03-02 13:44:40 -08:00
Brian Anderson
8478349b8b rustdoc: Remove some debug logging 2012-03-02 02:12:12 -08:00
Brian Anderson
4056082833 rustdoc: Extract markdown header logic. Needed for indexing 2012-03-01 18:13:22 -08:00
Brian Anderson
4991943f4e rustdoc: Stop having pandoc write the TOC
We will generate them ourselves
2012-03-01 17:29:53 -08:00
Brian Anderson
3cd8c57a54 rustdoc: Add index records to the doc tree 2012-03-01 16:34:09 -08:00