Ameba::Rule::Lint::VoidOutsideLib
Inherits Ameba::AST::Util < YAML::Serializable < Ameba::Rule::Base < Ameba::Config::RuleConfig < Reference < Object
A rule that disallows uses of Void outside C lib bindings.
Using Void outside of C lib bindings doesn't make sense,
and can sometimes break the compiler. Nil should be used instead in these cases.
Pointer(Void) is the only case that's allowed per this rule.
These are considered invalid:
def foo(bar : Void) : Slice(Void)?
end
alias Baz = Void
struct Qux < Void
end
YAML configuration example:
Lint/VoidOutsideLib:
Enabled: true
Constants
Constructors
A rule that disallows uses of Void outside C lib bindings.
Using Void outside of C lib bindings doesn't make sense,
and can sometimes break the compiler. Nil should be used instead in these cases.
Pointer(Void) is the only case that's allowed per this rule.
These are considered invalid:
def foo(bar : Void) : Slice(Void)?
end
alias Baz = Void
struct Qux < Void
end
YAML configuration example:
Lint/VoidOutsideLib:
Enabled: true
Class methods
Returns true if this rule is deprecated, false otherwise.
Returns the deprecation reason for this rule, if there is any.
Returns the documentation URL for this rule.
Ameba::Rule::Lint::Syntax.documentation_url
# => "https://crystal-ameba.org/api/master/Ameba/Rule/Lint/Syntax.html"
Returns the documentation for this rule, if there is any.
module Ameba
# This is a test rule.
# Does nothing.
class Rule::MyRule < Rule::Base
def test(source)
end
end
end
Ameba::Rule::MyRule.parsed_doc # => "This is a test rule.\nDoes nothing."