Commit Graph

187 Commits

Author SHA1 Message Date
Niko Matsakis
eb0a34c398 iterate only over immutable vectors; use newer region notation
Unfortunately, right now iterating over const vectors is
not safe.  This is because the callback expects an *immutable*
reference (in region terms: &T), not a const reference (&const T).
This was not being caught by the type system due to the use of
unsafe operations.  To fix this, we need to either (1) find a way
to parameterize over mutability or (2) add each_const, each_mut
etc
2012-07-18 11:48:58 -07:00
Patrick Walton
db020ab63c rustc: Implement and enforce instance coherence 2012-07-17 15:46:43 -07:00
Michael Sullivan
92743dc2a6 Move the world over to using the new style string literals and types. Closes #2907. 2012-07-14 01:03:43 -07:00
Michael Sullivan
ad5c4ed351 Make push_str overallocate. Use it in some places that were still doing +=. 2012-07-13 16:37:27 -07:00
Patrick Walton
fdf0c1b353 core: Newtype a bunch of types in libcore 2012-07-11 12:47:32 -07:00
Michael Sullivan
ee0177b908 Move string append to libraries. Closes #2710. 2012-07-06 13:37:56 -07:00
Gareth Daniel Smith
be0141666d convert doc-attributes to doc-comments using ./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498 2012-07-04 19:18:13 -07:00
Graydon Hoare
debb7e4641 Switch 'native' to 'extern' (or 'foreign' in some descriptions) 2012-07-03 16:11:00 -07:00
Brian Anderson
569467eb0d Merge remote-tracking branch 'Dretch/prettydocs'
Conflicts:
	src/compiletest/errors.rs
	src/libsyntax/parse/attr.rs
	src/libsyntax/parse/comments.rs
	src/test/compile-fail/ambig_impl_unify.rs
	src/test/compile-fail/assign-super.rs
	src/test/compile-fail/bad-for-loop.rs
	src/test/compile-fail/bad-var-env-capture-in-block-arg.rs
	src/test/compile-fail/block-arg-as-stmt-with-value.rs
	src/test/compile-fail/borrowck-assign-comp-idx.rs
	src/test/compile-fail/borrowck-lend-flow.rs
	src/test/compile-fail/borrowck-loan-blocks-move-cc.rs
	src/test/compile-fail/borrowck-loan-blocks-mut-uniq.rs
	src/test/compile-fail/borrowck-loan-rcvr.rs
	src/test/compile-fail/borrowck-loan-vec-content.rs
	src/test/compile-fail/borrowck-mut-vec-as-imm-slice-bad.rs
	src/test/compile-fail/cap-clause-with-stack-closure.rs
	src/test/compile-fail/do1.rs
	src/test/compile-fail/do2.rs
	src/test/compile-fail/empty-vec-trailing-comma.rs
	src/test/compile-fail/evec-subtyping.rs
	src/test/compile-fail/issue-1896.rs
	src/test/compile-fail/issue-2149.rs
	src/test/compile-fail/issue-2150.rs
	src/test/compile-fail/issue-2487-b.rs
	src/test/compile-fail/kindck-implicit-close-over-mut-var.rs
	src/test/compile-fail/liveness-issue-2163.rs
	src/test/compile-fail/liveness-use-in-index-lvalue.rs
	src/test/compile-fail/no-reuse-move-arc.rs
	src/test/compile-fail/no-send-res-ports.rs
	src/test/compile-fail/non-const.rs
	src/test/compile-fail/pure-higher-order.rs
	src/test/compile-fail/pure-loop-body.rs
	src/test/compile-fail/regions-addr-of-upvar-self.rs
	src/test/compile-fail/regions-escape-loop-via-vec.rs
	src/test/compile-fail/regions-scoping.rs
	src/test/compile-fail/seq-args.rs
	src/test/compile-fail/tstate-unsat-in-called-fn-expr.rs
	src/test/compile-fail/tstate-unsat-in-fn-expr.rs
	src/test/compile-fail/vec-add.rs
	src/test/compile-fail/vec-concat-bug.rs
	src/test/compile-fail/vector-no-ann.rs
2012-07-02 15:23:41 -07:00
Brian Anderson
d1fc2b5995 Convert to new closure syntax 2012-07-01 19:19:32 -07:00
Brian Anderson
a3382b6f26 Eliminate usages of old sugared call syntax 2012-06-30 16:01:49 -07:00
Gareth Daniel Smith
0b653ab953 initial draft of fix for issue #2498:
1. make /// ... and //! ... and /** ... */ and /*! ... */ into sugar for #[doc = ...] attributes.
2. add a script in etc/ to help converting doc-attributes to doc-comments
3. add some functions to core::str to help with (1)
2012-06-30 11:54:54 +01:00
Michael Sullivan
98e161f00e Switch the compiler over to using ~[] notation instead of []/~. Closes #2759. 2012-06-29 17:41:45 -07:00
Eric Holk
c3b98cabe1 Removed pretty much all the vector+ from core (issue #2719) 2012-06-27 15:22:06 -07:00
Eric Holk
a08281616f More perf tweaks (issue #2719) 2012-06-26 14:08:16 -07:00
Michael Sullivan
329eca6044 Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725. 2012-06-25 20:00:46 -07:00
Eric Holk
b19c98ea9a Some perf fixes, although vec::slice is still too slow (Issue #2719) 2012-06-25 16:38:12 -07:00
Brian Anderson
fad307d7b4 core: Convert declarations to not use the trailing 'unsafe' notation 2012-06-25 12:48:39 -07:00
Graydon Hoare
312faf31df Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this. 2012-06-21 16:44:10 -07:00
Eric Holk
0e5cfd9f33 Move vector addition out of trans and into libcore. 2012-06-21 16:11:11 -07:00
Tim Chevalier
1b4dcbecac Comments only: typos 2012-06-20 20:12:14 -07:00
Tim Chevalier
a214e3abd2 Comments only: annotate FIXME in core::str 2012-06-14 19:32:41 -07:00
Erick Tryzelaar
4335ce47f3 Convert most str and vec fns to slices 2012-06-12 18:10:18 -07:00
Patrick Walton
5a04069042 Merge pull request #2559 from mozilla/incoming
Incoming
2012-06-08 20:37:57 -07:00
Patrick Walton
8ce0215f1b core: "inlune" is not an attribute 2012-06-08 17:57:39 -07:00
Patrick Walton
fbd583bde2 core: Implement string equal natively to save a call into the shape code. Shaves a couple of seconds off rustc. 2012-06-08 17:38:12 -07:00
Brian Anderson
7a74545e97 Convert reinterpret_cast + forget to 'transmute' 2012-06-08 10:58:46 -07:00
Brian Anderson
95b9d538b8 Use #[cfg(unix)] and #[cfg(windows)] everywhere 2012-06-07 22:28:00 -07:00
Niko Matsakis
b828df93f6 miscellaneous pure annotations and other small changes.
it seems that, to be truly useful, pure fns really need the
ability to modify their parameters.  alternatively, we could
rewrite the functions that modify their arguments to take/return.
2012-06-06 18:36:54 -07:00
Eric Holk
1e8f501343 Machine types are different from int/uint, etc (Issue #2187) 2012-06-04 19:16:47 -07:00
Brian Anderson
8fbd5ac049 core: Add str::is_alphanumeric fn and method 2012-06-02 23:42:20 -07:00
Niko Matsakis
c5f2c1d61e add some purity annotations in core 2012-06-02 10:08:00 -07:00
Graydon Hoare
57f399bd63 Implement 2 kinds of char / str escaping. Use in rustc. Close #2306. 2012-05-31 15:32:29 -07:00
Brian Anderson
4885ffb579 core: Export str::unsafe::from_buf_len/from_c_str_len 2012-05-07 15:56:53 -07:00
Tim Chevalier
85fbfa25d7 Revert "Eliminate a copy in syntax::parse::new_parser_from_file"
This reverts commit 2bb3b63ec4.

(I was confused.)
2012-04-30 11:52:07 -07:00
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
Graydon Hoare
753b683939 More slice use in vec, io, str, ebml, metadata encoder and decoder. 2012-04-25 17:19:36 -07:00
Graydon Hoare
43061f3969 Add vec::unpack_slice, expose str::unpack_slice. 2012-04-20 17:37:17 -07:00
Graydon Hoare
75cf13ec72 Add str/& component accessor and test. 2012-04-18 17:50:58 -07:00
Brian Anderson
eb935b8fcb core: Use tilde-fences in docs
Backtick fences don't work for some reason
2012-04-14 17:17:57 -07:00
Tim Chevalier
a1b305c8e5 Remove or annotate FIXMEs in core::str
Trimmed exports in core::str::unsafe. Annotated other FIXMEs.

Also moved the test for str::unsafe::from_buf_len inside str_unsafe
since it's no longer exported. If it's not good to do that, let me
know.
2012-04-12 23:38:02 -07:00
Brian Anderson
10236f8cd4 core: Make str::as_bytes handle failure. Closes #2156 2012-04-09 18:57:21 -07:00
Brian Anderson
ce8023b9ac Merge pull request #2139 from Jonanin/add_str_len
Add len to str extensions
2012-04-05 23:49:55 -07:00
Jon Morton
d621ada003 Add len to str extensions 2012-04-06 01:12:49 -05:00
Niko Matsakis
b91c9f803d simplify typing rule for vector addition: use mutability of LHS 2012-04-05 15:18:26 -07:00
Brian Anderson
6e8cf935db core: Add each, each_char to str::extensions 2012-03-29 22:30:15 -07:00
Brian Anderson
8641c95221 core: Add str::each_char 2012-03-29 22:28:26 -07:00
Brian Anderson
392d3c8d44 core: Add extension methods for str 2012-03-29 20:56:50 -07:00
Brian Anderson
0d5d2e5e14 core: Don't use upcall_vec_grow from str::push_char 2012-03-29 00:20:05 -07:00
Grahame Bowland
7a87258155 Rewrite str::push_char in rust.
Avoid crossing to C to reallocate underlying array when possible,
if we must we now only cross once per char (not once per byte.)
2012-03-29 00:20:05 -07:00