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