]> git.lizzy.rs Git - rust.git/log
rust.git
10 years agoauto merge of #9083 : dcrewi/rust/biguint-bit-ops, r=brson
bors [Mon, 9 Sep 2013 21:10:58 +0000 (14:10 -0700)]
auto merge of #9083 : dcrewi/rust/biguint-bit-ops, r=brson

10 years agoauto merge of #9071 : thestinger/rust/noalias, r=alexcrichton
bors [Mon, 9 Sep 2013 20:01:02 +0000 (13:01 -0700)]
auto merge of #9071 : thestinger/rust/noalias, r=alexcrichton

This also removes a FIXME I added referring to a now closed issue.

10 years agoauto merge of #9033 : alexcrichton/rust/libuv-makefile-dep, r=brson
bors [Mon, 9 Sep 2013 18:51:03 +0000 (11:51 -0700)]
auto merge of #9033 : alexcrichton/rust/libuv-makefile-dep, r=brson

This way the rule isn't always built whenever you fire off a new build

10 years agoadd `noalias` attribute to ~ return values
Daniel Micay [Mon, 9 Sep 2013 06:32:30 +0000 (02:32 -0400)]
add `noalias` attribute to ~ return values

10 years agoauto merge of #9005 : alexcrichton/rust/rusty-log, r=brson
bors [Mon, 9 Sep 2013 17:41:05 +0000 (10:41 -0700)]
auto merge of #9005 : alexcrichton/rust/rusty-log, r=brson

Also redefine all of the standard logging macros to use more rust code instead
of custom LLVM translation code. This makes them a bit easier to understand, but
also more flexibile for future types of logging.

Additionally, this commit removes the LogType language item in preparation for
changing how logging is performed.

10 years agoImplement bitwise operations on BigUint
David Creswick [Sat, 7 Sep 2013 01:47:54 +0000 (20:47 -0500)]
Implement bitwise operations on BigUint

10 years agoauto merge of #9051 : bjz/rust/master, r=huonw
bors [Mon, 9 Sep 2013 13:06:04 +0000 (06:06 -0700)]
auto merge of #9051 : bjz/rust/master, r=huonw

10 years agoauto merge of #9059 : Kimundi/rust/master, r=huonw
bors [Mon, 9 Sep 2013 11:51:05 +0000 (04:51 -0700)]
auto merge of #9059 : Kimundi/rust/master, r=huonw

- Marked a unsafe helper function as unsafe, added a second helper function
- Added moving implementations

10 years agoSome work on std::ascii: Marked unsafe function unsafe, added moving implementations
Marvin Löbel [Sun, 8 Sep 2013 23:45:14 +0000 (01:45 +0200)]
Some work on std::ascii: Marked unsafe function unsafe, added moving implementations

10 years agoauto merge of #9073 : alexcrichton/rust/remove-local-data-hax, r=huonw
bors [Mon, 9 Sep 2013 09:36:06 +0000 (02:36 -0700)]
auto merge of #9073 : alexcrichton/rust/remove-local-data-hax, r=huonw

These compiler bugs have since been fixed (one less layer of indirection)

10 years agoRemove hacks around issues in local_data
Alex Crichton [Mon, 9 Sep 2013 08:01:23 +0000 (01:01 -0700)]
Remove hacks around issues in local_data

These compiler bugs have since been fixed (one less layer of indirection)

10 years agoauto merge of #9065 : thestinger/rust/iter, r=alexcrichton
bors [Mon, 9 Sep 2013 07:26:07 +0000 (00:26 -0700)]
auto merge of #9065 : thestinger/rust/iter, r=alexcrichton

The trait will keep the `Iterator` naming, but a more concise module
name makes using the free functions less verbose. The module will define
iterables in addition to iterators, as it deals with iteration in
general.

10 years agorename `std::iterator` to `std::iter`
Daniel Micay [Sun, 8 Sep 2013 15:01:16 +0000 (11:01 -0400)]
rename `std::iterator` to `std::iter`

The trait will keep the `Iterator` naming, but a more concise module
name makes using the free functions less verbose. The module will define
iterables in addition to iterators, as it deals with iteration in
general.

10 years agoauto merge of #9066 : thestinger/rust/repr, r=alexcrichton
bors [Mon, 9 Sep 2013 05:16:07 +0000 (22:16 -0700)]
auto merge of #9066 : thestinger/rust/repr, r=alexcrichton

10 years agorepr: update for removal of const
Daniel Micay [Mon, 9 Sep 2013 03:16:49 +0000 (23:16 -0400)]
repr: update for removal of const

10 years agorepr: write the mutability qualifier for slices
Daniel Micay [Mon, 9 Sep 2013 03:13:31 +0000 (23:13 -0400)]
repr: write the mutability qualifier for slices

10 years agoauto merge of #8988 : cmr/rust/fromstr_fn, r=brson
bors [Sun, 8 Sep 2013 19:05:55 +0000 (12:05 -0700)]
auto merge of #8988 : cmr/rust/fromstr_fn, r=brson

It just calls out to the associated function on the trait.

10 years agoFix import order which caused the wrong from_str to be in scope
Corey Richardson [Sun, 8 Sep 2013 19:00:00 +0000 (15:00 -0400)]
Fix import order which caused the wrong from_str to be in scope

10 years agoFix unused import warnings on 32bit systems
Brendan Zabarauskas [Sun, 8 Sep 2013 17:51:29 +0000 (03:51 +1000)]
Fix unused import warnings on 32bit systems

10 years agoauto merge of #9054 : huonw/rust/labelled-for, r=thestinger
bors [Sun, 8 Sep 2013 14:45:57 +0000 (07:45 -0700)]
auto merge of #9054 : huonw/rust/labelled-for, r=thestinger

The following parses and works as expected with this change:

```rust
'foo: for i in range(0, 10) {
    for j in range(0, 10) {
        if i + j == 15 { break 'foo; }
    }
}
```

10 years agosyntax: aesthetic improvements to the `for` desugaring.
Huon Wilson [Sun, 8 Sep 2013 12:46:20 +0000 (22:46 +1000)]
syntax: aesthetic improvements to the `for` desugaring.

10 years agosyntax: implement labelled breaks for `for`.
Huon Wilson [Sun, 8 Sep 2013 12:08:01 +0000 (22:08 +1000)]
syntax: implement labelled breaks for `for`.

`for` desugars to `loop` so it is trivial to just desugar to `loop` while
retaining any label.

10 years agoauto merge of #9035 : alexcrichton/rust/fewer-clownshoes, r=huonw
bors [Sun, 8 Sep 2013 08:05:59 +0000 (01:05 -0700)]
auto merge of #9035 : alexcrichton/rust/fewer-clownshoes, r=huonw

This removes another large chunk of this odd 'clownshoes' identifier showing up
in symbol names. These all originated from external crates because the encoded
items were encoded independently of the paths calculated in ast_map. The
encoding of these paths now uses the helper function in ast_map to calculate the
"pretty name" for an impl block.

Unfortunately there is still no information about generics in the symbol name,
but it's certainly vastly better than before

    hash::__extensions__::write::_version::v0.8

becomes

    hash::Writer$SipState::write::hversion::v0.8

This also fixes bugs in which lots of methods would show up as `meth_XXX`, they
now only show up as `meth` and throw some extra characters onto the version
string.

10 years agoAdd Clone and DeepClone constraints to Primitive trait
Brendan Zabarauskas [Sat, 7 Sep 2013 07:16:56 +0000 (17:16 +1000)]
Add Clone and DeepClone constraints to Primitive trait

10 years agoMoved checked trait impls out of std::num
Brendan Zabarauskas [Sat, 7 Sep 2013 07:15:35 +0000 (17:15 +1000)]
Moved checked trait impls out of std::num

This follows the same pattern as the other numeric trait impls, and reduces the clutter in std::num.

10 years agoauto merge of #9050 : huonw/rust/unfoldnor, r=thestinger
bors [Sun, 8 Sep 2013 01:10:59 +0000 (18:10 -0700)]
auto merge of #9050 : huonw/rust/unfoldnor, r=thestinger

The `r` is not relevant, since there is only one direction of folding
(unlike Haskell).

10 years agostd: Rename Unfoldr to Unfold.
Huon Wilson [Sun, 8 Sep 2013 00:52:19 +0000 (10:52 +1000)]
std: Rename Unfoldr to Unfold.

The `r` is not relevant, since there is only one direction of folding
(unlike Haskell).

10 years agoauto merge of #9015 : MicahChalmer/rust/emacs-fixes-round-2, r=nikomatsakis
bors [Sat, 7 Sep 2013 23:10:58 +0000 (16:10 -0700)]
auto merge of #9015 : MicahChalmer/rust/emacs-fixes-round-2, r=nikomatsakis

Here are fixes for more problems mentioned in #8787.  I think I've addressed everything mentioned there except for @nikomatsakis's comment about match/patterns now.  (This also fixes the bug in struct alignment that @pnkfelix mentioned from my earlier pull request #8872.)

The biggest change here is to make fill-paragraph (M-q) and auto-fill-mode work inside different variations of multi-line and doc comments.  Because of the way emacs paragraph fills work (callbacks interacting with global regexp variables that are used in odd ways) there were quite a few edge cases that I had to work around.

The only way I was able to keep it all straight was to create some regression tests.  They use the emacs lisp regression testing tool ERT, and are included as the last commit here.  I added a few tests for indentation as well.  I have not attempted to integrate the tests into the overall rust compiler build process, since I can't imagine anyone would want the compiler build to have a dependency on emacs.  Maybe at some point tools like this get their own repositories?  Just a thought.

One other thought related to the tests: should there be a place to put these types of style samples that isn't specific to one text editor?  Maybe as part of an official rust style guide, but in a form that would allow tools like this to pull out the samples and use them for tests?

10 years agoauto merge of #9046 : thestinger/rust/repr, r=alexcrichton
bors [Sat, 7 Sep 2013 22:01:02 +0000 (15:01 -0700)]
auto merge of #9046 : thestinger/rust/repr, r=alexcrichton

Closes #8743

10 years agoauto merge of #9043 : sfackler/rust/uuid-from-bytes, r=alexcrichton
bors [Sat, 7 Sep 2013 20:51:02 +0000 (13:51 -0700)]
auto merge of #9043 : sfackler/rust/uuid-from-bytes, r=alexcrichton

This method doesn't deal with utf8. I guess it got caught in a mass
rename.

10 years agoauto merge of #9041 : alexcrichton/rust/use-python-2, r=thestinger
bors [Sat, 7 Sep 2013 19:41:02 +0000 (12:41 -0700)]
auto merge of #9041 : alexcrichton/rust/use-python-2, r=thestinger

This is required for systems where /usr/bin/python is actually python 3

I already did this before, but forgot to re-port it once libuv was re-upgraded

10 years agofix repr of strings/chars with quotes
Daniel Micay [Sat, 7 Sep 2013 18:52:31 +0000 (14:52 -0400)]
fix repr of strings/chars with quotes

Closes #8743

10 years agoauto merge of #8906 : novalis/rust/master, r=alexcrichton
bors [Sat, 7 Sep 2013 18:31:06 +0000 (11:31 -0700)]
auto merge of #8906 : novalis/rust/master, r=alexcrichton

This is a patch to fix #6031.  I didn't see any tests for the C++ library code, so I didn't write a test for my changes.  Did I miss something, or are there really no tests?

10 years agoRenamed Uuid::from_utf8 to Uuid::from_bytes
Steven Fackler [Sat, 7 Sep 2013 18:05:48 +0000 (11:05 -0700)]
Renamed Uuid::from_utf8 to Uuid::from_bytes

This method doesn't deal with utf8. I guess it got caught in a mass
rename.

10 years agoGive the libuv makefile generation a dependency
Alex Crichton [Sat, 7 Sep 2013 06:34:25 +0000 (23:34 -0700)]
Give the libuv makefile generation a dependency

This way the rule isn't always built whenever you fire off a new build

10 years agoRun gyp with CFG_PYTHON which is python < 3
Alex Crichton [Sat, 7 Sep 2013 17:22:36 +0000 (10:22 -0700)]
Run gyp with CFG_PYTHON which is python < 3

This is required for systems where /usr/bin/python is actually python 3

10 years agoauto merge of #9032 : alexcrichton/rust/inline-repr, r=thestinger
bors [Sat, 7 Sep 2013 16:31:12 +0000 (09:31 -0700)]
auto merge of #9032 : alexcrichton/rust/inline-repr, r=thestinger

This allows cross-crate inlining which is *very* good because this is called a
lot throughout libstd (even when libstd is inlined across crates).

In one of my projects, I have a test case with the following performance characteristics

commit | optimization level | runtime (seconds)
----|------|----
before | O2  | 22s
before | O3  | 107s
after | O2  | 13s
after | O3  | 12s

I'm a bit disturbed by the 107s runtime from O3 before this commit. The performance characteristics of this test involve doing an absurd amount of small operations. A huge portion of this is creating hashmaps which involves allocating vectors.

The worst portions of the profile are:
![screen shot 2013-09-06 at 10 32 15 pm](https://f.cloud.github.com/assets/64996/1100723/e5e8744c-177e-11e3-83fc-ddc5f18c60f9.png)

Which as you can see looks like some *serious* problems with inlining. I would expect the hash map methods to be high up in the profile, but the top 9 callers of `cast::transmute_copy` were `Repr::repr`'s various monomorphized instances.

I wish there we a better way to detect things like this in the future, and it's unfortunate that this is required for performance in the first place. I suppose I'm not entirely sure why this is needed because all of the methods should have been generated in-crate (monomorphized versions of library functions), so they should have gotten inlined? It also could just be that by modifying LLVM's idea of the inline cost of this function it was able to inline it in many more locations.

10 years agoHandle global log levels (fixes #6033)
novalis [Fri, 6 Sep 2013 01:18:55 +0000 (21:18 -0400)]
Handle global log levels (fixes #6033)

10 years agoRemove even more usage of clownshoes in symbols
Alex Crichton [Sat, 7 Sep 2013 06:56:17 +0000 (23:56 -0700)]
Remove even more usage of clownshoes in symbols

This removes another large chunk of this odd 'clownshoes' identifier showing up
in symbol names. These all originated from external crates because the encoded
items were encoded independently of the paths calculated in ast_map. The
encoding of these paths now uses the helper function in ast_map to calculate the
"pretty name" for an impl block.

Unfortunately there is still no information about generics in the symbol name,
but it's certainly vastly better than before

    hash::__extensions__::write::_version::v0.8

becomes

    hash::Writer$SipState::write::hversion::v0.8

This also fixes bugs in which lots of methods would show up as `meth_XXX`, they
now only show up as `meth` and throw some extra characters onto the version
string.

10 years agoauto merge of #9026 : jbclements/rust/let-var-hygiene, r=jbclements
bors [Sat, 7 Sep 2013 06:35:57 +0000 (23:35 -0700)]
auto merge of #9026 : jbclements/rust/let-var-hygiene, r=jbclements

This is a rebase of my approved pull request from ... the end of June? It introduces hygiene for let-bound variables.

10 years agoident->name in debuginfo
John Clements [Sat, 7 Sep 2013 06:19:11 +0000 (23:19 -0700)]
ident->name in debuginfo

10 years agoFlag the Repr::repr function with #[inline]
Alex Crichton [Sat, 7 Sep 2013 05:29:29 +0000 (22:29 -0700)]
Flag the Repr::repr function with #[inline]

This allows cross-crate inlining which is *very* good because this is called a
lot throughout libstd (even when libstd is inlined across crates).

10 years agoauto merge of #9016 : sfackler/rust/nanoseconds, r=alexcrichton
bors [Sat, 7 Sep 2013 05:25:59 +0000 (22:25 -0700)]
auto merge of #9016 : sfackler/rust/nanoseconds, r=alexcrichton

The ISO 8601 standard does not mandate any specific precision for
fractional seconds, so this accepts input of any length, ignoring the
part after the nanoseconds place. It may be more correct to round with
the tenths of nanoseconds digit, but then we'd have to deal with
carrying the round through the entire Tm struct (e.g. for a time like
Dec 31 11:59.999999999999).

%f is the format specifier that Python's datetime library uses for
0-padded microseconds so it seemed appropriate here.

cc #2350

10 years agoCover all cases for padding in paragraph fills as intended
Micah Chalmer [Sat, 7 Sep 2013 04:39:38 +0000 (00:39 -0400)]
Cover all cases for padding in paragraph fills as intended

10 years agoFix regression of multi-line statement indents
Micah Chalmer [Sat, 7 Sep 2013 04:38:23 +0000 (00:38 -0400)]
Fix regression of multi-line statement indents

10 years agoFix #6031. Allow symbolic log levels, not just numbers.
novalis [Thu, 5 Sep 2013 20:15:45 +0000 (16:15 -0400)]
Fix #6031.  Allow symbolic log levels, not just numbers.

10 years agoauto merge of #9010 : aaronlaursen/rust/master, r=alexcrichton
bors [Sat, 7 Sep 2013 03:10:57 +0000 (20:10 -0700)]
auto merge of #9010 : aaronlaursen/rust/master, r=alexcrichton

Here's a fix for issue #7588, "Overflow handling of from_str methods is broken".

The integer overflow issues are taken care of by checking to see if the multiply-by-radix-and-add-next-digit process is reversible. If it overflowed, then some information is lost and the process is irreversible, in which case, None is returned.

Floats now consistently return Some(Inf) of Some(-Inf) on overflow thanks to a call to NumStrConv::inf() and NumStrConv::neg_inf() respectively when the overflow is detected (which yields a value of None in the case of ints and uints anyway).

This is my first contribution to Rust, and my first time using the language in general, so any and all feedback is appreciated.

10 years agoauto merge of #9030 : tikue/rust/glob, r=huonw
bors [Sat, 7 Sep 2013 02:01:01 +0000 (19:01 -0700)]
auto merge of #9030 : tikue/rust/glob, r=huonw

10 years agouse enumerate in place of 'for ti in range(i, tokens.len()) ... match tokens[ti]...
Tim Kuehn [Sat, 7 Sep 2013 01:36:48 +0000 (21:36 -0400)]
use enumerate in place of 'for ti in range(i, tokens.len()) ... match tokens[ti] ...'

10 years agoauto merge of #9019 : alexcrichton/rust/reconfigure-llvm, r=brson
bors [Fri, 6 Sep 2013 23:51:00 +0000 (16:51 -0700)]
auto merge of #9019 : alexcrichton/rust/reconfigure-llvm, r=brson

@Chris-Morgan ran into this, turns out if we have a clean llvm in the old location we won't rebuild/reconfigure even though we should.

10 years agoident->name
John Clements [Thu, 5 Sep 2013 20:57:52 +0000 (13:57 -0700)]
ident->name

10 years agoadded index to test cases, more debugging output
John Clements [Thu, 5 Sep 2013 20:28:57 +0000 (13:28 -0700)]
added index to test cases, more debugging output

10 years agoquote_* macros no longer need to be capturing
John Clements [Thu, 5 Sep 2013 17:30:23 +0000 (10:30 -0700)]
quote_* macros no longer need to be capturing

This is actually almost a problem, because those were my poster-child
macros for "here's how to implement a capturing macro." Following this
change, there will be no macros that use capturing; this will probably
make life unpleasant for the first person that wants to implement a
capturing macro. I should probably create a dummy_capturing macro,
just to show how it works.

10 years agocomment fix
John Clements [Sun, 28 Jul 2013 20:34:19 +0000 (16:34 -0400)]
comment fix

10 years agoadd hygiene test, add copyright to another
John Clements [Fri, 26 Jul 2013 20:30:05 +0000 (16:30 -0400)]
add hygiene test, add copyright to another

10 years agomake macro hygienic
John Clements [Fri, 26 Jul 2013 20:10:56 +0000 (16:10 -0400)]
make macro hygienic

10 years agoadd test case, cleanup
John Clements [Thu, 5 Sep 2013 16:29:31 +0000 (09:29 -0700)]
add test case, cleanup

10 years agoadd display_sctable fn to ast_util
John Clements [Fri, 26 Jul 2013 17:27:38 +0000 (13:27 -0400)]
add display_sctable fn to ast_util

10 years agofixed a bug that caused double-expand-traversal of macros that expand into modules.
John Clements [Fri, 26 Jul 2013 16:57:30 +0000 (12:57 -0400)]
fixed a bug that caused double-expand-traversal of macros that expand into modules.

10 years agoWIP: adding mark-cancelling for macro_rules
John Clements [Sun, 14 Jul 2013 19:25:04 +0000 (15:25 -0400)]
WIP: adding mark-cancelling for macro_rules

10 years agoadded string_to_tts
John Clements [Sun, 14 Jul 2013 19:23:56 +0000 (15:23 -0400)]
added string_to_tts

10 years agocomments
John Clements [Sun, 14 Jul 2013 02:12:25 +0000 (19:12 -0700)]
comments

10 years agocomment on hygienic context extension train fns
John Clements [Sat, 13 Jul 2013 17:18:37 +0000 (10:18 -0700)]
comment on hygienic context extension train fns

10 years agoawesome new bug! added test case
John Clements [Sat, 13 Jul 2013 01:35:47 +0000 (18:35 -0700)]
awesome new bug! added test case

10 years agoexpose mtwt_marksof for testing
John Clements [Sat, 13 Jul 2013 01:35:05 +0000 (18:35 -0700)]
expose mtwt_marksof for testing

10 years agoident->name
John Clements [Fri, 12 Jul 2013 15:55:12 +0000 (08:55 -0700)]
ident->name

10 years agoxfailed unhygienic test
John Clements [Fri, 12 Jul 2013 08:18:59 +0000 (01:18 -0700)]
xfailed unhygienic test

10 years agoident->name
John Clements [Fri, 12 Jul 2013 07:28:48 +0000 (00:28 -0700)]
ident->name

10 years agoremove unneeded imports, clean up unused var warnings
John Clements [Fri, 12 Jul 2013 06:07:34 +0000 (23:07 -0700)]
remove unneeded imports, clean up unused var warnings

10 years agowhitespace, reindentation, and comments only
John Clements [Fri, 12 Jul 2013 05:58:14 +0000 (22:58 -0700)]
whitespace, reindentation, and comments only

10 years agomemoization for resolve
John Clements [Wed, 10 Jul 2013 23:40:09 +0000 (16:40 -0700)]
memoization for resolve

10 years agouncomment mtwt_resolve calls
John Clements [Thu, 5 Sep 2013 21:15:00 +0000 (14:15 -0700)]
uncomment mtwt_resolve calls

10 years agoident->name in NamedField, elsewhere
John Clements [Wed, 10 Jul 2013 20:44:58 +0000 (13:44 -0700)]
ident->name in NamedField, elsewhere

10 years agoadded utility function
John Clements [Wed, 10 Jul 2013 18:52:59 +0000 (11:52 -0700)]
added utility function

10 years agofix one remaining token comparison, refactor token comparison to avoid == check
John Clements [Wed, 10 Jul 2013 18:52:39 +0000 (11:52 -0700)]
fix one remaining token comparison, refactor token comparison to avoid == check

10 years agoremove dead code
John Clements [Tue, 9 Jul 2013 21:24:03 +0000 (14:24 -0700)]
remove dead code

10 years agocapturing macros now implemented
John Clements [Mon, 8 Jul 2013 22:55:14 +0000 (15:55 -0700)]
capturing macros now implemented

10 years agoadd fold_mac clause to fun_to_ctxt_folder
John Clements [Mon, 8 Jul 2013 17:37:07 +0000 (10:37 -0700)]
add fold_mac clause to fun_to_ctxt_folder

10 years agoadd fold_mac field to fold.rs
John Clements [Fri, 5 Jul 2013 21:16:39 +0000 (14:16 -0700)]
add fold_mac field to fold.rs

10 years agoWIP: adding context to macros
John Clements [Fri, 5 Jul 2013 20:57:53 +0000 (13:57 -0700)]
WIP: adding context to macros

10 years agorework fold so that fold_tts takes an ast_fold rather than a thunk, stop using closur...
John Clements [Tue, 9 Jul 2013 22:56:21 +0000 (15:56 -0700)]
rework fold so that fold_tts takes an ast_fold rather than a thunk, stop using closures in ident traversal

10 years agoadd temporarily unused ctxt field to mac_invoc_tt
John Clements [Wed, 3 Jul 2013 22:16:04 +0000 (15:16 -0700)]
add temporarily unused ctxt field to mac_invoc_tt

10 years agocomments
John Clements [Wed, 3 Jul 2013 22:15:45 +0000 (15:15 -0700)]
comments

10 years agoadd test case for macro token comparison
John Clements [Tue, 9 Jul 2013 22:10:16 +0000 (15:10 -0700)]
add test case for macro token comparison

10 years agomarking on both input and output from macros. nice shiny new test case framework
John Clements [Sat, 29 Jun 2013 12:59:08 +0000 (05:59 -0700)]
marking on both input and output from macros. nice shiny new test case framework

10 years agoadded IterBytes for 4-tuples
John Clements [Thu, 27 Jun 2013 23:00:18 +0000 (16:00 -0700)]
added IterBytes for 4-tuples

10 years agoadded gensym_copy mechanism to ensure sharing of pointers in the interner
John Clements [Wed, 26 Jun 2013 17:11:19 +0000 (10:11 -0700)]
added gensym_copy mechanism to ensure sharing of pointers in the interner

this makes comparisons constant-time, and enables spelling-comparison
of identifiers, crucial in many parts of resolve.

10 years agoadded test for ptr_eq on fresh_name-generated idents
John Clements [Tue, 25 Jun 2013 23:48:03 +0000 (16:48 -0700)]
added test for ptr_eq on fresh_name-generated idents

10 years agofixed bug in fold's traversal of cast exprs
John Clements [Sat, 8 Jun 2013 00:14:06 +0000 (17:14 -0700)]
fixed bug in fold's traversal of cast exprs

10 years agonew test that uncovers bug in fold
John Clements [Sat, 8 Jun 2013 00:06:57 +0000 (17:06 -0700)]
new test that uncovers bug in fold

10 years agotest case support fns, remove debugging test case
John Clements [Tue, 9 Jul 2013 23:00:41 +0000 (16:00 -0700)]
test case support fns, remove debugging test case

10 years agotest case work
John Clements [Fri, 7 Jun 2013 22:01:28 +0000 (15:01 -0700)]
test case work

10 years agore-add lost call to expand_block_elts
John Clements [Fri, 7 Jun 2013 21:54:48 +0000 (14:54 -0700)]
re-add lost call to expand_block_elts

10 years agore-add debug version
John Clements [Fri, 7 Jun 2013 21:53:53 +0000 (14:53 -0700)]
re-add debug version

10 years agotest case work
John Clements [Fri, 7 Jun 2013 19:28:03 +0000 (12:28 -0700)]
test case work

10 years agouse empty_ctxt to simplify downstream
John Clements [Fri, 7 Jun 2013 19:26:34 +0000 (12:26 -0700)]
use empty_ctxt to simplify downstream

10 years agomake comparison of special_idents non-hygienic
John Clements [Wed, 3 Jul 2013 18:34:01 +0000 (11:34 -0700)]
make comparison of special_idents non-hygienic

10 years agocomments
John Clements [Fri, 7 Jun 2013 17:41:38 +0000 (10:41 -0700)]
comments

10 years agodrop back to a simple gensym approach for fresh-name.
John Clements [Fri, 7 Jun 2013 17:41:18 +0000 (10:41 -0700)]
drop back to a simple gensym approach for fresh-name.

this is necessary so that the new idents are connected to the original strings.
this is important both for error messages, and so that top-level refs get connected
to the right things.

10 years agoadded FIXME comment
John Clements [Fri, 7 Jun 2013 17:39:59 +0000 (10:39 -0700)]
added FIXME comment