Eduard Burtescu
c77166c685
rustc_const_eval: work around double rounding.
2016-06-05 19:18:28 +03:00
Eduard Burtescu
1447fbf183
rustc_const_eval: track the length and index in IndexOutOfBounds.
2016-06-05 14:41:04 +03:00
Eduard Burtescu
afc598e075
rustc_const_eval: strings are not indexable in Rust 1.x.
2016-06-05 14:41:04 +03:00
Eduard Burtescu
b6ce2aa4ea
rustc_const_eval: remove unused arithmetic ErrKind variants.
2016-06-05 14:41:04 +03:00
bors
7738479d72
Auto merge of #33460 - shepmaster:16-bit-pointers, r=Aatch
...
Support 16-bit pointers as well as i/usize
I'm opening this pull request to get some feedback from the community.
Although Rust doesn't support any platforms with a native 16-bit pointer at the moment, the [AVR-Rust][ar] fork is working towards that goal. Keeping this forked logic up-to-date with the changes in master has been onerous so I'd like to merge these changes so that they get carried along when refactoring happens. I do not believe this should increase the maintenance burden.
This is based on the original work of Dylan McKay (@dylanmckay).
[ar]: https://github.com/avr-rust/rust
2016-06-03 22:32:15 -07:00
Guillaume Gomez
c34676a7c4
Fix E0165 code examples
2016-06-01 16:02:23 +02:00
Manish Goregaokar
10e1e6a7a2
Rollup merge of #33793 - GuillaumeGomez:compile_fail, r=GuillaumeGomez
...
Fix compile_fail tag
Fixes #33780
r? @steveklabnik
2016-05-30 15:18:59 +05:30
Vadim Petrochenkov
cf46820694
Refactor away some functions from hir::pat_util
2016-05-28 17:37:58 +03:00
Vadim Petrochenkov
216f5fba04
Separate bindings from other patterns in HIR
2016-05-28 00:54:29 +03:00
Guillaume Gomez
abe9961283
* Fix compile_fail tag (in some cases, it compiled whereas it wasn't expected to and was still considered 'ok')
...
* Fix error explanations tests/tags
2016-05-27 00:39:57 +02:00
Vadim Petrochenkov
35ef09c38b
Replace pat_adjust_pos with an iterator adapter
2016-05-26 11:11:58 +03:00
Vadim Petrochenkov
d69aeaf662
Implement .. in tuple (struct) patterns
2016-05-26 11:11:58 +03:00
Jake Goulding
bc7595c8ab
Support 16-bit pointers as well as i/usize
...
This is based on the original work of Dylan McKay for the
[avr-rust project][ar].
[ar]: https://github.com/avr-rust/rust
2016-05-19 13:55:13 -04:00
Vadim Petrochenkov
aad347c4f7
Remove hir::Ident
2016-05-16 22:25:08 +03:00
ggomez
5f2099d4af
Add more details and examples in error code
2016-05-12 16:42:43 +02:00
Steve Klabnik
82c4f5915b
Rollup merge of #33260 - mrmiywj:help-on-pattern-guard, r=guillaumegomez
...
add help on pattern guard
2016-05-11 09:27:42 -04:00
Eduard Burtescu
a1c170fc35
rustc: Split local type contexts interners from the global one.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
20652162ca
rustc: More interning for data used in Ty<'tcx>.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
12e56ea56b
rustc: Wrap users of InferCtxt in an anonymous scope.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
8a704f6dc7
rustc: Remove the TyCtxt field from ParameterEnvironment.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
76affa5d6f
rustc: Split 'tcx into 'gcx and 'tcx for InferCtxt and its users.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
513d392f7e
rustc: Replace &'a TyCtxt<'tcx> with a TyCtxt<'a, 'tcx> wrapper.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
f8ea24edc8
rustc: Avoid free functions taking &TyCtxt and &InferCtxt.
2016-05-11 04:14:58 +03:00
Eduard Burtescu
0907c198c4
infer: Use methods for creating an InferCtxt.
2016-05-11 04:14:58 +03:00
bors
faca79fc33
Auto merge of #33457 - oli-obk:const_err/cast_u8_ptr, r=eddyb
...
casting `&[u8]` to `* const u8` doesn't work in const_eval
fixes #33452
r? @eddyb
cc @Ms2ger
2016-05-09 10:57:35 -07:00
bors
8e414e0e3f
Auto merge of #33091 - sanxiyn:unused-trait-import-3, r=nrc
...
Warn unused trait imports, rebased
Rebase of #30021 .
Fix #25730 .
2016-05-08 04:50:27 -07:00
Oliver 'ker' Schneider
7461e450b9
casting b"text" to * const u8 doesn't work in const_eval
2016-05-08 10:52:17 +02:00
Manish Goregaokar
041a269bc7
Rollup merge of #33339 - oli-obk:fix/const_eval, r=japaric
...
fix various const eval errors
These were found after const_evaluating arbitrary expressions and linting if the const evaluator failed
fixes #33275 (int -> float casts for negative ints)
fixes #33291 (int -> char casts (new! wasn't allowed in constants until this PR))
r? @eddyb
cc @bluss @japaric
2016-05-03 19:54:52 +05:30
Seo Sanghyeon
7ad1900e1c
Remove unused trait imports flagged by lint
2016-05-03 18:48:34 +09:00
Manish Goregaokar
c4d950d6d5
Rollup merge of #33323 - birkenfeld:issue-31221, r=Manishearth
...
match check: note "catchall" patterns in unreachable error
Caught as catchall patterns are:
* unconditional name bindings
* references to them
* tuple bindings with catchall elements
Fixes #31221 .
2016-05-03 08:05:27 +05:30
mrmiywj
201d9ed0bb
add help on pattern guard
...
fix too long column
fix typo of help on pattern guard
one nit
fix compile fail
2016-05-03 10:00:51 +08:00
Niko Matsakis
489a6c95bf
replace fileline_{help,note} with {help,note}
...
The extra filename and line was mainly there to keep the indentation
relative to the main snippet; now that this doesn't include
filename/line-number as a prefix, it is distracted.
2016-05-02 11:49:23 -04:00
Oliver Schneider
ce6ea47d43
refactor infer function
...
There was no span available in the cast function, but we need to infer the `x` in `x as char` to `u8`.
The spans are now removed from all functions using `infer` and instead added in `eval_const_expr_partial`
2016-05-02 16:40:40 +02:00
Oliver Schneider
10737a5a45
* as char assumes * to be of type u8
2016-05-02 16:38:33 +02:00
Oliver Schneider
bf51eafbef
check for wrong const_err warnings
2016-05-02 11:26:29 +02:00
Oliver Schneider
12c4a1951e
remove unused constant error variants
2016-05-02 11:02:44 +02:00
Georg Brandl
b51698ad60
match check: note "catchall" patterns in unreachable error
...
Caught as catchall patterns are:
* unconditional name bindings
* references to them
* tuple bindings with catchall elements
Fixes #31221 .
2016-05-01 21:58:46 +02:00
Simonas Kazlauskas
5f956103c8
Fix patterns of the constants that are const meth
...
See the regression test for the sample code this fixes
2016-04-30 03:40:09 +03:00
Oliver Schneider
735c018974
skip double negation in const eval
2016-04-26 14:09:05 +02:00
Steve Klabnik
04b7427bb1
Rollup merge of #32646 - Ms2ger:Constructor, r=sanxiyn
...
Stop re-exporting check_match::Constructor.
2016-04-14 14:49:09 -04:00
Oliver Schneider
d38a58d46d
don't report errors in constants at every use site
2016-04-11 10:41:48 +02:00
Eduard Burtescu
ffca6c3e15
rustc: move middle::{def,def_id,pat_util} to hir.
2016-04-06 09:14:21 +03:00
Eduard Burtescu
7bebe80bc2
syntax: dismantle ast_util.
2016-04-06 09:04:15 +03:00
Eduard Burtescu
ef4c7241f8
rustc: dismantle hir::util, mostly moving functions to methods.
2016-04-06 09:01:55 +03:00
Eduard Burtescu
8b0937293b
rustc: move rustc_front to rustc::hir.
2016-04-06 09:01:55 +03:00
Oliver Schneider
913a2b4b05
check constants even if they are unused in the current crate
2016-04-03 15:18:16 +02:00
Benjamin Herr
89fcc00581
librustc_const_eval: use bug!(), span_bug!()
2016-03-31 22:06:52 +02:00
Ms2ger
8cd9c2b259
Stop re-exporting check_match::Constructor.
2016-03-31 14:54:09 +02:00
Oliver Schneider
3eac64747f
move const_eval and check_match out of librustc
2016-03-30 13:43:36 +02:00
Oliver Schneider
6cc449ad24
rename rustc_const_eval to rustc_const_math
2016-03-30 11:10:21 +02:00