Commit Graph
158 Commits
Author SHA1 Message Date
eksperimental 4ceb41e71b Formmating: Add white space around vertical bar (#4507) 2016-04-25 00:55:49 +02:00
Wojtek Mach 743e8c7ed1 Track {module, function, arity} imports and warn on unused ones
Example:

Say, there's following file:

    # example.exs
    import String, only: [upcase: 1, downcase: 1]
    import Enum

    IO.puts upcase("Hello")

Before this patch:

    # $ elixir example.exs
    # HELLO
    # warning.exs:2: warning: unused import Enum

After this patch:

    # $ elixir example.exs
    # HELLO
    # example.exs:1: warning: unused import String.downcase/1
    # example.exs:2: warning: unused import Enum
2016-02-28 19:53:02 +01:00
José Valim 4bce6d063a Keep metadata when rewriting assertions 2015-08-24 00:19:00 +02:00
José Valim 80fd98f01a Streamline aliases and imports in lexical tracker
Aliases should not mark nodes as compile or runtime
since it receives the alias to be expanded. The
expanded alias is always called later though as a
remote dispatch.

Imports should always mark nodes as compile time,
since they are compile time dependencies.

Finally, ensure compile nodes have higher priority
over runtime ones.
2015-07-22 09:59:31 +02:00
José Valim d25d7046e5 Split compile and runtime in lexical tracker 2015-07-21 23:28:07 +02:00
José Valim 7642f97691 Ensure we quote proper file on exceptions 2015-04-02 18:37:56 +02:00
eksperimental 61675c3ea8 Add space after comma: Format consistently 2015-03-17 22:55:27 +07:00
José Valim d31c12100a Refactor and add new rewrite rules 2014-10-06 14:55:38 +02:00
José Valim 7313d26720 Remove deprecated branches 2014-09-04 13:58:58 +02:00
José Valim 1ca451f779 Normalize is_guard checks 2014-08-27 15:28:31 -04:00
José Valim 1565ec7658 Update CHANGELOG 2014-08-18 16:43:17 -04:00
José Valim c04e13169f Deprecate Collectable.empty and Enum.traverse
The current implementation has three issues:

1. It is slow as we can't reuse the data structure but rather
   build a new one from scratch

2. Due to 1., trees can't be traversed

3. empty/1 is unable to deal with resources
2014-08-16 15:46:58 +02:00
José Valim dbf205b311 Deprecate Module.function/3 2014-08-07 20:00:57 +02:00
José Valim 0e0bb1c2a7 Do not raise conflicts on imports used from quotes, closes #2589 2014-08-07 18:09:19 +02:00
José Valim 6a6ba9f50d Remove deprecated code 2014-08-02 22:35:57 +02:00
José Valim 58ca3401e4 Deprecate IO.ANSI.terminal? and tidy up colors 2014-07-31 13:54:08 +02:00
José Valim 4e7ba9d598 Deprecate IO.ANSI.escape/2 and IO.ANSI.escape_fragment/2 2014-07-30 13:14:53 +02:00
José Valim c42fe88dcc Provide Inspect.Algebra.format/2 that returns iodata 2014-07-19 13:32:45 +02:00
José Valim 058b157b36 Remove deprecated features and deprecate soft ones 2014-07-12 16:23:17 +02:00
Eric Meadows-Jönsson c295ee50de Allow expansion of local macros via Macro.expand/2 2014-07-11 20:35:35 +02:00
José Valim 8e1f7fddca Always return ok from tracking functions 2014-07-05 13:21:59 +02:00
James Fish 39cd4a6594 Fix unmatched returns dialyzer warnings 2014-07-04 02:45:16 +01:00
José Valim 54240e1b4f Inline functions in Port module 2014-07-01 14:54:56 +02:00
José Valim 9f2fa0f7af Add System.cmd/3, closes #2251 2014-06-30 20:50:44 +02:00
José Valim 18f5063814 Update (soft) deprecations 2014-06-29 15:13:02 +02:00
José Valim a6b1cca91f Soft deprecate Mix.Generator.from_file/1 2014-06-26 13:35:54 +02:00
José Valim 5c7fdcc244 Soft deprecate EEx.TransformerEngine and EEx.AssignsEngine 2014-06-24 13:51:17 +02:00
José Valim feb9cb645e Remove previously deprecated behaviour 2014-06-18 16:56:59 +02:00
José Valim 924350868a Deprecate previously soft deprecated conversion functions 2014-06-17 13:21:34 +02:00
José Valim 7de880495b Remove previously deprecated code, enable new deprecations 2014-06-10 12:35:07 +02:00
José Valim dff93a44c2 Soft deprecate size/1
Closes #2356
2014-06-05 21:02:10 +02:00
José Valim 83fa2fbbbf Update CHANGELOG 2014-05-24 13:58:51 +02:00
José Valim 2c630ff33c Enable previously set deprecations 2014-05-24 13:13:30 +02:00
José Valim 007571e979 Remove deprecated records 2014-05-24 12:59:01 +02:00
José Valim fb49aa1e99 Deprecate Dict.Behaviour in favor of Dict 2014-05-23 00:09:36 +02:00
José Valim f92d8393da (Soft) deprecate set_elem/3 in favor of put_elem/3, closes #2259 2014-05-21 12:04:22 +02:00
José Valim 540c763c85 Move binary and list conversions to String and List 2014-05-17 17:02:46 +02:00
José Valim 3d4877ffda Get rid of BitString module and bitstring conversions 2014-05-17 16:34:26 +02:00
José Valim 84262257ef Move Integer/Float conversions to their respective modules 2014-05-17 16:29:49 +02:00
José Valim 68dd952b45 More deprecations around tuples and records 2014-05-17 16:13:02 +02:00
José Valim a068b5a4b0 Move List and String deprecations to new mechanism 2014-05-17 16:02:56 +02:00
Eric Meadows-Jönsson dbe918c911 Merge pull request #2288 from ericmj/compile-deprecations
Make deprecations compiler warnings
2014-05-17 15:53:53 +02:00
Eric Meadows-Jönsson 4977ec8c05 Make deprecations compiler warnings 2014-05-17 15:52:00 +02:00
José Valim 3bb8e17e9e Add iodata_to_binary and chardata_to_string to IO 2014-05-17 13:06:40 +02:00
José Valim 9650344c76 Do faster expansion on rewrites 2014-05-16 23:49:12 +02:00
José Valim deb0191a21 Add Atom.to_string, Atom.to_char_list and BitString.to_list 2014-05-16 14:38:43 +02:00
José Valim eb7c5415db Inline functions in the Tuple module, closes #2261 2014-05-10 16:40:08 +02:00
José Valim c86ecfdf7e Add Kernel.spawn_monitor and deprecate duplicated functions from Process 2014-05-03 21:57:55 +02:00
José Valim fdf53787cf Remove unecessary .hrl macros 2014-04-30 19:24:04 +02:00
José Valim c435dbe38d Convert #elixir_env to a struct too 2014-04-30 16:32:13 +02:00