| Age | Commit message (Collapse) | Author | Lines |
|
Something will still have to be done to the AST to make it possible to
say `x.foo::<int>()`, since currently field access never allows type
parameters.
Issue #1227
|
|
Move the name of the bundle to the front, allow type parameters (not
handled yet), and add a 'for' keyword:
impl utils for int {
fn str() -> str { int::str(self) }
fn times(f: block()) { ... }
}
|
|
A dot is only considered part of a number when not followed by a letter
Closes #1306
|
|
Get rid of expr_self_call, introduces def_self. `self` is now,
syntactically, simply a variable. A method implicitly brings a `self`
binding into scope.
Issue #1227
|
|
Issue #1227
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I.e. {|foo: int| -> int foo + 2}
Issue #1275
|
|
Issue #1200
|
|
See src/test/run-pass/nested-patterns.rs for some examples. The syntax is
boundvar@subpattern
Which will match the subpattern as usual, but also bind boundvar to the
whole matched value.
Closes #838
|
|
Closes #1269
|
|
|
|
Also shuffles around the organization of numeric literals and types,
separating by int/uint/float instead of machine-vs-non-machine types.
This simplifies some code.
Closes #974
Closes #1252
|
|
introduces ctypes::m_* machine type aliases for int, uint, float
depending on cfg(target_arch) that are used in tests
|
|
And remove the hack that made 1-1 work given that other hack.
Issue #954
|
|
This removes the need for the unary minus hacks, and allows some other
neat things like matching on 1 >> 4.
Issue #954
|
|
It seems inefficient to copy them around. Let's measure whether that's actually
> the case
|
|
The first attribute of the first mod was being applied to every mod.
|
|
The path information was an optional "filename" component of crate
directive AST. It is now replaced by an attribute with metadata named
"path".
With this commit, a directive
mod foo = "foo.rs";
should be written as:
#[path = "foo.rs"]
mod foo;
Closes issue #906.
|
|
Temporarily allow path specified in either as attribute or in AST, like:
#[path = "mymod.rs"]
mod mymod = "mymod.rs";
This is a transitional commit to avoid creating a stage1 snapshot.
|
|
Closes #49
|
|
It's proving too inflexible, so I'm ripping out the extra complexity
in the hope that regions will, at some point, provide something
similar.
Closes #918
|
|
The reference now has an empty hole where the auth keyword used to be.
Changing the keyword table seems to require manually sorting the
keywords and putting them back into some kind of arcane interleaved
order. I'll open an issue to actually fix this.
Closes #1211
|
|
|
|
This is especially useful for the native calls in std::math
This commit does NOT yet point to new snapshots
|
|
Not included in the build by default, since it's fragile and kludgy. Do
something like this to run it:
cd doc/tutorial
RUSTC=../../build/stage2/bin/rustc bash test.sh
Closes #1143
|
|
|
|
This involved adding 'copy' to more generics than I hoped, but an
experiment with making it implicit showed that that way lies madness --
unless enforced, you will not remember to mark functions that don't
copy as not requiring copyable kind.
Issue #1177
|
|
This is intended to solve the problem of how to pass arguments to
constructor functions -- you want to move in rvalues, but not have to
explicitly copy stuff that is not an rvalue. The by-copy passing
convention will ensure the callee gets its own copy of the value. For
rvalues, it'll just pass off the value. For lvalues, it'll make a
copy.
Issue #1177
|
|
This goes before a snapshot, so that subsequenct patches can make the
transition without breaking the build. Disables kind checking pass, makes
parser accept both new and old-style kind annotation.
Issue #1177
|
|
|
|
|
|
|
|
This patch changes how to specify ABI and link name of a native module.
Before:
native "cdecl" mod llvm = "rustllvm" {...}
After:
#[abi = "cdecl"]
#[link_name = "rustllvm"]
native mod llvm {...}
The old optional syntax for ABI and link name is no longer supported.
Fixes issue #547
|
|
This patch adds support of using attributes to specify native mode ABI
and link name. The old optional syntax like:
native "cdecl" mod llvm = "rustllvm" { ... }
is still supported.
This is a transitional commit to avoid making a stage1 (backward
imcompatible) snapshot.
|
|
Fixes issue #906
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|