Chris Wong
0e4a77bbfe
rustc: Add long diagnostics for E0306 and E0307
2015-04-16 22:23:36 -04:00
Chris Wong
77e8ddfaf3
rustc: Add long diagnostics for E0170
2015-04-16 22:23:36 -04:00
Chris Wong
aaf92f04d1
rustc: Add long diagnostics for E0161
2015-04-16 22:23:36 -04:00
Chris Wong
c08facfcfd
rustc: Add long diagnostics for E0158
2015-04-16 22:23:36 -04:00
Chris Wong
521ae488db
rustc: Add long diagnostics for E0152
2015-04-16 22:23:36 -04:00
Ruud van Asseldonk
33dca5e3ad
rustc: Add long diagnostics for E0165
2015-04-14 20:11:04 +02:00
Ruud van Asseldonk
c45eacdbc6
rustc: Add long diagnostics for E0162
2015-04-14 20:00:17 +02:00
Ruud van Asseldonk
48a376da18
rustc: Add long diagnostics for E0302
2015-04-14 19:39:58 +02:00
Ruud van Asseldonk
ab1723b670
rustc: Add long diagnostics for E0301
2015-04-14 19:32:01 +02:00
Ruud van Asseldonk
9c6f4b6d1d
rustc: Add long diagnostics for E0297
2015-04-14 19:31:54 +02:00
Michael Sproul
039a553998
Add more extended error messages for match exprs.
2015-04-07 11:16:32 -07:00
Michael Sproul
19e9828fb8
Fix printing of extended errors.
2015-04-04 12:37:25 -07:00
Felix S. Klock II
4e04d57efa
Added type-specific overflow checks when computing enum discriminant values.
...
Moved such overflow checking into one place (in `rustc::middle::ty`,
since it needs to be run on-demand during `const_eval` in some
scenarios), and revised `rustc_typeck` accordingly.
(Note that we only check for overflow if program did not provide a
discriminant value explicitly.)
Fix #23030
Fix #23221
Fix #23235
2015-04-01 02:55:13 +02:00
Tamir Duberstein
d51047ded0
Strip all leading/trailing newlines
2015-03-15 09:08:21 -07:00
Eduard Burtescu
03295a715f
rustc: qualify expressions in check_const for potential promotion.
2015-02-16 17:13:42 +02:00
Nick Cameron
8122ce81d0
Accept quantification of lifetimes outside the self type in where clauses.
...
Closes #20022
2015-02-09 09:29:53 +13:00
Joseph Crail
dc2e444e50
Fix for misspelled comments.
...
The spelling corrections were made in both documentation comments and
regular comments.
2015-02-04 23:00:02 -05:00
Alex Crichton
90af72378d
Make diagnostic ordering deterministic
2015-01-21 20:25:19 -08:00
Alex Crichton
ecbee2e568
More test fixes and rebase conflicts
2015-01-21 12:49:02 -08:00
Alex Crichton
df1cddf20a
rollup merge of #20179 : eddyb/blind-items
...
Conflicts:
src/librustc/diagnostics.rs
src/librustdoc/clean/mod.rs
src/librustdoc/html/format.rs
src/libsyntax/parse/parser.rs
2015-01-21 11:56:00 -08:00
Eduard Burtescu
2d17a33878
Deny imports after non-item statements.
2015-01-21 20:05:16 +02:00
Michael Sproul
9a4401fe82
Add some extended errors.
2015-01-20 11:27:51 -08:00
Brian Anderson
9f59f7e052
Add error codes to rustc
2015-01-20 11:27:51 -08:00
Brian Anderson
953d6dfd7e
Make error code registration work again. #19624
2015-01-20 11:27:14 -08:00
Flavio Percoco
fb803a8570
Require types to opt-in Sync
2014-12-26 17:26:32 +01:00
Patrick Walton
ddb2466f6a
librustc: Always parse macro!()
/macro![]
as expressions if not
...
followed by a semicolon.
This allows code like `vec![1i, 2, 3].len();` to work.
This breaks code that uses macros as statements without putting
semicolons after them, such as:
fn main() {
...
assert!(a == b)
assert!(c == d)
println(...);
}
It also breaks code that uses macros as items without semicolons:
local_data_key!(foo)
fn main() {
println("hello world")
}
Add semicolons to fix this code. Those two examples can be fixed as
follows:
fn main() {
...
assert!(a == b);
assert!(c == d);
println(...);
}
local_data_key!(foo);
fn main() {
println("hello world")
}
RFC #378 .
Closes #18635 .
[breaking-change]
2014-12-18 12:09:07 -05:00
Niko Matsakis
07eebf6910
Remove diagnostic errors that were yielding warnings.
2014-12-12 20:25:21 -05:00
Nick Cameron
ce4318ad86
Reviewer comments
2014-12-12 19:29:17 +13:00
Nick Cameron
397dda8aa0
Add support for equality constraints on associated types
2014-12-12 19:11:59 +13:00
Alex Crichton
5816d7f530
More test fixes and rebase conflicts!
2014-11-26 18:10:57 -08:00
Niko Matsakis
74a1041a4d
Implement the new parsing rules for types in the parser, modifying the AST appropriately.
2014-11-26 11:42:05 -05:00
Niko Matsakis
9c808ffee4
Make it an error to use parenthetical notation with
...
something other than a trait type.
2014-11-18 12:32:37 -05:00
Jakub Bukaj
54c76e6e81
Fix an ICE when using struct patterns with traits
...
Fixes #18986 .
2014-11-17 21:49:41 +01:00
Jakub Bukaj
eb01b17b06
Complete the removal of ty_nil, ast::LitNil, ast::TyBot and ast::TyUniq
...
[breaking-change]
This will break any uses of macros that assumed () being a valid literal.
2014-11-16 14:23:15 +01:00
Niko Matsakis
221edbae38
Support parenthesized paths Foo(A,B) -> C
that expand to Foo<(A,B),C>
. These paths also bind anonymous regions (or will, once HRTB is fully working).
...
Fixes #18423 .
2014-11-06 06:48:23 -05:00
Nick Cameron
1d500cfd74
changes to libs
2014-10-30 15:51:55 +13:00
Jakub Bukaj
cca84e9e21
Remove ty_bot from the type system
...
We now instead use a fresh variable for expressions that diverge.
2014-10-28 17:54:16 +01:00
Ariel Ben-Yehuda
81b7e62918
Prevent pointer -> int casts in constexprs
...
These cause issues, as addresses aren't fixed at compile-time.
Fixes #18294
2014-10-25 20:18:32 +03:00
Jakub Bukaj
4380e96c04
Overhaul typechecking of patterns
...
Instead of checking patterns in a top-down fashion with a known
expected type on entry, this changes makes typeck establish
appropriate constraints between a pattern and the expression
it destructures, and lets inference compute the final types
or produce good error messages if it's impossible.
2014-10-24 19:43:47 +02:00
bors
c7e0724274
auto merge of #17733 : jgallagher/rust/while-let, r=alexcrichton
...
This is *heavily* based on `if let` (#17634 ) by @jakub- and @kballard
This should close #17687
2014-10-13 19:37:40 +00:00
Jakub Wieczorek
403cd40e6a
Remove virtual
structs from the language
2014-10-11 19:42:26 +02:00
John Gallagher
45fd623762
Handle while let
desugaring
2014-10-10 20:30:32 -04:00
Jakub Wieczorek
b9896cbf6e
Fix handling of struct variants in a couple of places
...
Fixes #17405 .
Fixes #17518 .
Fixes #17800 .
2014-10-05 22:32:47 +02:00
Jakub Wieczorek
e723051a2e
Temporarily remove the description for the diagnostic E0162
...
It turns out that adding new diagnostics is causing link failures
in runpass-full-deps tests. Further investigation pending.
2014-09-30 18:54:03 +02:00
Kevin Ballard
976438f78f
Produce a better error for irrefutable if let
patterns
...
Modify ast::ExprMatch to include a new value of type ast::MatchSource,
making it easy to tell whether the match was written literally or
produced via desugaring. This allows us to customize error messages
appropriately.
2014-09-30 18:54:02 +02:00
Niko Matsakis
3694f42b8c
Move checking of whether fields are Sized or not into wf / trait code.
2014-09-25 07:09:13 -04:00
Niko Matsakis
e924357554
Remove the last redundant check from kindck, and then remove the pass as well.
2014-09-25 07:09:13 -04:00
Niko Matsakis
2ec305d1bc
Move checks for closure bounds out of kind.rs
2014-09-25 07:09:08 -04:00
Niko Matsakis
034f69ec4b
Remove redundant local variable checks.
2014-09-25 07:08:36 -04:00
Niko Matsakis
62e5dc929c
Remove checks that are already being done during typeck
2014-09-25 07:07:51 -04:00