Tamir Duberstein
8c58fe1739
Fallout
2015-04-29 08:55:31 -07:00
Theo Belaire
5c05278fec
Fixed types, and slimmed down code
...
I don't this we need to print the definition of the
imported value too, though it's quite possible.
2015-04-25 15:45:29 -04:00
Theo Belaire
69a5c379df
Maybe it works
...
Still compiling, but I think I have it!
2015-04-25 15:11:56 -04:00
Theo Belaire
168615f869
Now passing in the ImportResolver to check_conflict...
...
It compiles, yay.
2015-04-25 14:35:47 -04:00
Theo Belaire
74648b5d64
First attempt at fixing #20591
...
This isn't quite right, but it's interesting.
2015-04-25 14:09:41 -04:00
Sean Patrick Santos
29eb550ee6
Get associated consts working in match patterns.
2015-04-23 21:02:29 -06:00
Sean Patrick Santos
7129e8815e
Functional changes for associated constants. Cross-crate usage of associated constants is not yet working.
2015-04-23 21:02:26 -06:00
Sean Patrick Santos
b5499775d6
Structural changes for associated constants
...
Introduces new variants and types in syntax::ast, middle::ty, and middle::def.
2015-04-23 21:02:25 -06:00
P1start
7d2231aa22
Change a few error messages to give code suggestions
...
PR #24242 added the ability to the compiler to directly give suggestions about
how to modify code to fix an error. The new errors look like this:
foobar.rs:5:12: 5:25 error: expected a path on the left-hand side of `+`,
not `&'static Copy` [E0178]
foobar.rs:5 let x: &'static Copy + 'static;
^~~~~~~~~~~~~
foobar.rs:5:12: 5:35 help: try adding parentheses (per RFC 438):
foobar.rs: let x: &'static (Copy + 'static);
foobar.rs:2:13: 2:23 error: cast to unsized type: `&_` as `core::marker::Copy`
foobar.rs:2 let x = &1 as Copy;
^~~~~~~~~~
foobar.rs:2:19: 2:23 help: try casting to a reference instead:
foobar.rs: let x = &1 as &Copy;
foobar.rs:7:24: 7:25 error: expected expression, found `;`
foobar.rs:7 let x = box (1 + 1);
^
foobar.rs:7:13: 7:16 help: try using `box()` instead:
foobar.rs: let x = box() (1 + 1);
This also modifies compiletest to give the ability to directly test suggestions
given by error messages.
2015-04-21 21:13:42 +12:00
Tamir Duberstein
10f15e72e6
Negative case of len()
-> is_empty()
...
`s/([^\(\s]+\.)len\(\) [(?:!=)>] 0/!$1is_empty()/g`
2015-04-14 20:26:03 -07:00
Tamir Duberstein
29ac04402d
Positive case of len()
-> is_empty()
...
`s/(?<!\{ self)(?<=\.)len\(\) == 0/is_empty()/g`
2015-04-14 20:26:03 -07:00
Nick Cameron
01678acf50
Expose visibility for fns in syntax::visit
2015-04-14 09:54:58 +12:00
Nick Cameron
63b36ea7c2
Work with assoc types in a super trait.
...
And fix a bug with type param visibility though the Self rib.
2015-04-07 18:03:07 +12:00
Nick Cameron
dc8a8e9beb
Check uses of Self
in impls in the compiler rather than during expansion
...
Closes #23909
2015-04-03 22:47:53 +13:00
Alex Crichton
f92e7abefd
rollup merge of #23860 : nikomatsakis/copy-requires-clone
...
Conflicts:
src/test/compile-fail/coherence-impls-copy.rs
2015-04-01 18:37:54 -07:00
Niko Matsakis
d9530c01a7
Fallout out rustc
2015-04-01 11:22:39 -04:00
Nick Cameron
0dd0925f57
Tidying up and reformatting
2015-04-01 14:07:19 +13:00
Manish Goregaokar
5eb4be4c56
Rollup merge of #23803 - richo:unused-braces, r=Manishearth
...
Pretty much what it says on the tin.
2015-03-28 18:12:06 +05:30
Richo Healey
cbce6bfbdb
cleanup: Remove unused braces in use statements
2015-03-28 02:23:20 -07:00
Alex Crichton
01560112b8
Test fixes and rebase conflicts, round 1
2015-03-27 11:29:36 -07:00
Alex Crichton
28a6b16130
rollup merge of #23741 : alexcrichton/remove-int-uint
...
Conflicts:
src/librustc/middle/ty.rs
src/librustc_trans/trans/adt.rs
src/librustc_typeck/check/mod.rs
src/libserialize/json.rs
src/test/run-pass/spawn-fn.rs
2015-03-27 10:10:05 -07:00
Alexis Beingessner
1b98f6da7a
default => or_insert per RFC
2015-03-27 07:42:03 -04:00
Alex Crichton
43bfaa4a33
Mass rename uint/int to usize/isize
...
Now that support has been removed, all lingering use cases are renamed.
2015-03-26 12:10:22 -07:00
Alex Crichton
54f16b818b
rustc: Remove support for int/uint
...
This commit removes all parsing, resolve, and compiler support for the old and
long-deprecated int/uint types.
2015-03-25 16:39:00 -07:00
Aaron Turon
5fe0bb743a
Future-proof indexing on maps: remove IndexMut
...
This commit removes the `IndexMut` impls on `HashMap` and `BTreeMap`, in
order to future-proof the API against the eventual inclusion of an
`IndexSet` trait.
Ideally, we would eventually be able to support:
```rust
map[owned_key] = val;
map[borrowed_key].mutating_method(arguments);
&mut map[borrowed_key];
```
but to keep the design space as unconstrained as possible, we do not
currently want to support `IndexMut`, in case some other strategy will
eventually be needed.
Code currently using mutating index notation can use `get_mut` instead.
[breaking-change]
Closes #23448
2015-03-20 10:46:31 -07:00
Nick Cameron
46aa621452
Fix private module loophole in the 'private type in public item' check
2015-03-18 16:47:24 +13:00
Nick Cameron
1fd38c181a
Reviewer changes
2015-03-16 17:01:12 +13:00
Nick Cameron
2df1ceb001
resolve: factor out resolve imports to its own module
2015-03-16 11:03:54 +13:00
Nick Cameron
170ccd615f
Error if pub use
references a private item.
...
[breaking-change]
Closes #23266
2015-03-16 11:03:54 +13:00
Nick Cameron
73afbef3aa
Misc tidy ups in resolve
2015-03-16 11:03:54 +13:00
Eduard Burtescu
9da918548d
syntax: move MethMac to MacImplItem and combine {Provided,Required}Method into MethodTraitItem.
2015-03-11 23:39:16 +02:00
Eduard Burtescu
ce10fa8d12
syntax: rename TypeMethod to MethodSig and use it in MethDecl.
2015-03-11 23:39:16 +02:00
Eduard Burtescu
f98b176314
syntax: gather common fields of impl & trait items into their respective types.
2015-03-11 23:39:16 +02:00
Eduard Burtescu
98491827b9
syntax: move indirection around {Trait,Impl}Item, from within.
2015-03-11 23:39:15 +02:00
Manish Goregaokar
2fcdd824ef
Rollup merge of #23056 - awlnx:master, r=nrc
2015-03-06 22:22:33 +05:30
awlnx
951ef9d1f1
fix for new attributes failing. issue #22964
2015-03-05 11:53:51 -05:00
Ivan Radanov Ivanov
7496539a00
Change span_help calls to fileline_help where appropriate
2015-03-03 15:18:33 +02:00
Tshepang Lekhonkhobe
8b2ff472cf
remove some compiler warnings
2015-02-26 07:21:26 +02:00
Eduard Burtescu
72d5f39be7
Fix fallout from rebasing.
2015-02-24 14:16:02 +02:00
Eduard Burtescu
d31b9ebef5
Implement <T>::method
UFCS expression syntax.
2015-02-24 14:16:02 +02:00
Eduard Burtescu
5a6a9ed792
rustc: combine partial_def_map and last_private_map into def_map.
2015-02-24 14:16:02 +02:00
Eduard Burtescu
06f362aeb3
rustc_resolve: don't handle impl items as if they were modules.
2015-02-24 14:16:01 +02:00
Eduard Burtescu
fe4f9b8e3a
Use partial path resolutions in expressions for UFCS desugaring.
2015-02-24 14:16:01 +02:00
Eduard Burtescu
7a3054f55c
rustc_resolve: remove the distinction between DefStaticMethod and DefMethod.
2015-02-24 14:14:17 +02:00
Eduard Burtescu
0f49254b31
rustc: use partially resolved definitions to replace the T::A
hack.
2015-02-24 14:14:17 +02:00
Eduard Burtescu
5809f8ae74
rustc_resolve: use the visitor model more, remove redundant repeated lookups.
2015-02-24 14:14:16 +02:00
Eduard Burtescu
ffb8092ccf
syntax: use a single Path for Trait::Item in QPath.
2015-02-24 14:14:16 +02:00
Eduard Burtescu
326711e9bd
rustc_resolve: use DefAssociatedTy for TyQPath.
2015-02-24 14:14:16 +02:00
Eduard Burtescu
9a69378e8b
rustc: load DefAssociatedTy from cross-crate metadata. Fixes #20542 .
2015-02-24 14:14:16 +02:00
Eduard Burtescu
004df413aa
syntax: don't use TraitRef in QPath.
2015-02-24 14:14:16 +02:00