A fast, powerful type checker designed for Ruby
This report summarizes scanner evidence for sorbet/sorbet, a C++ project with 3,806 GitHub stars. SynthScan examined 223,988 lines of code across 6297 source files, recording 652 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 4.0 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 607 finding(s).
Are imports declared and package/API names verified? 1 finding(s).
Are wrappers, guards, and repeated structures necessary? 229 finding(s).
Which changes need focused human review? 652 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 652 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lldbinit.py | 1 | # TODO(jez) Figure out what to do about this warning: | COMMENT |
| LOW | tools/scripts/lmdb-scratch.py | 101 | wasted_overflow_bytes = 0 | COMMENT |
| LOW | tools/scripts/import_whitequark.rb | 1 | # This script imports test cases from whitequark/parser repo | COMMENT |
| LOW | tools/scripts/import_whitequark.sh | 1 | #!/bin/sh | COMMENT |
| LOW | tools/scripts/build_compilation_db.sh | 1 | #!/bin/bash | COMMENT |
| LOW | core/GlobalState.h | 1 | #ifndef SORBET_GLOBAL_STATE_H | COMMENT |
| LOW | core/GlobalState.h | 661 | bool includeErrorSections = true; | COMMENT |
| LOW | core/GlobalState.h | 761 | // A fast path can make this shorter than the number of boundaries recorded in symbolOffsets by | COMMENT |
| LOW | core/TypeErrorDiagnostics.h | 1 | #ifndef SORBET_TYPE_ERROR_DIAGNOSTICS_H | COMMENT |
| LOW | core/FileHash.h | 241 | // structure (one per file in the project), so for these extra properties that we don't need to | COMMENT |
| LOW | core/FileHash.h | 261 | // Since something could naturally hash to `HASH_STATE_NOT_COMPUTED`, we force these hash | COMMENT |
| LOW | core/FileHash.h | 281 | uint32_t fieldHash = HASH_STATE_NOT_COMPUTED; | COMMENT |
| LOW | core/FileHash.h | 341 | }); | COMMENT |
| LOW | core/core.h | 1 | #ifndef SORBET_CORE_H | COMMENT |
| LOW | core/Symbols.h | 1 | #ifndef SORBET_SYMBOLS_H | COMMENT |
| LOW | core/Symbols.h | 621 | // if dealiasing fails here, then we return Untyped instead | COMMENT |
| LOW | core/Symbols.h | 641 | // - Given ::Test, contains ::<PackageSpecRegistry> | COMMENT |
| LOW | core/Types.h | 1 | #ifndef SORBET_TYPES_H | COMMENT |
| LOW | core/Types.h | 461 | COMMENT | |
| LOW | core/Types.h | 481 | // takes two `TypePtr` which have had their LambdaParam's or TypeVar's instantiated. | COMMENT |
| LOW | core/Types.h | 501 | // res = id1(v) | COMMENT |
| LOW | core/Types.h | 1121 | COMMENT | |
| LOW | core/Loc.h | 101 | std::optional<std::string_view> source(const GlobalState &gs) const; | COMMENT |
| LOW | core/Loc.h | 121 | // | COMMENT |
| LOW | core/FoundDefinitions.h | 41 | // When kind != Symbol, `id` stores indices into the assorted vectors on `FoundDefinitions`. | COMMENT |
| LOW | core/ArityHash.h | 1 | #ifndef SORBET_ARITY_HASH_H | COMMENT |
| LOW | core/TrailingObjects.h | 1 | #ifndef SORBET_TRAILING_OBJECTS_H | COMMENT |
| LOW | core/TrailingObjects.h | 21 | // much space to allocate and how to access the trailing objects; it does not | COMMENT |
| LOW | core/TrailingObjects.h | 41 | // of that complexity behind a static factory function of some kind, and | COMMENT |
| LOW | core/TrailingObjects.h | 61 | /// numTrailingObjects implementations for each trailing type except | COMMENT |
| LOW | core/TypePtr.h | 1 | #ifndef SORBET_TYPEPTR_H | COMMENT |
| LOW | core/TypePtr.h | 261 | bool hasUntyped() const; | COMMENT |
| LOW | core/serialize/serialize.h | 41 | // intended to be used for loading the payload out of buffers that are compiled in to the binary. | COMMENT |
| LOW | core/lsp/Query.h | 21 | COMMENT | |
| LOW | core/lsp/TypecheckEpochManager.h | 41 | static void assertConsistentThread(std::optional<std::thread::id> &expectedThreadId, std::string_view method, | COMMENT |
| LOW | core/lsp/PreemptionTaskManager.h | 1 | #ifndef SORBET_LSP_PREEMPTIONTASKMANAGER_H | COMMENT |
| LOW | core/lsp/PreemptionTaskManager.h | 21 | // Thread ID of the typechecking thread. Lazily set. | COMMENT |
| LOW | core/lsp/PreemptionTaskManager.h | 41 | std::atomic<packages::Stratum> runnableAt; | COMMENT |
| LOW | core/lsp/PreemptionTask.h | 1 | #ifndef SORBET_LSP_PREEMPTION_TASK_H | COMMENT |
| LOW | core/packages/PackageInfo.h | 1 | #ifndef SORBET_CORE_PACKAGES_PACKAGEINFO_H | COMMENT |
| LOW | core/packages/MangledName.h | 1 | #ifndef SORBET_CORE_PACKAGES_MANGLEDNAME_H | COMMENT |
| LOW | namer/namer.h | 21 | // | COMMENT |
| LOW | test/testdata/rewriter/coerce_in_prop.rb | 1 | # typed: true | COMMENT |
| LOW | test/testdata/rewriter/coerce_in_prop.rb | 21 | # ^^^^^^ error: Method `coerce` does not exist on `T.class_of(T)` | COMMENT |
| LOW | test/testdata/namer/malformed_payload_data_namespace.rb | 1 | # typed: true | COMMENT |
| LOW | test/testdata/namer/payload_name.rb | 1 | # typed: true | COMMENT |
| LOW | test/testdata/namer/implicit_module_loc.rb | 1 | # typed: true | COMMENT |
| LOW | test/testdata/namer/type_member_eager_to_lazy.rb | 21 | B2 = type_member fixed: Integer | COMMENT |
| LOW | test/testdata/namer/super.rb | 1 | # typed: true | COMMENT |
| LOW | test/testdata/lsp/hover_method.rb | 101 | # ^ hover: Integer | COMMENT |
| LOW | test/testdata/lsp/hover_constraint.rb | 1 | # typed: strict | COMMENT |
| LOW | test/testdata/lsp/hover_constraint.rb | 21 | #^ hover-line: 16 ) | COMMENT |
| LOW | test/testdata/lsp/workspace_symbols_stdlib.rb | 1 | # typed: true | COMMENT |
| LOW | test/testdata/lsp/hover_constant_kind.rb | 81 | extend T::Generic | COMMENT |
| LOW | test/testdata/lsp/hover_constant_kind.rb | 121 | # ^ hover: Integer | COMMENT |
| LOW | test/testdata/lsp/genericMethods.rb | 41 | # ^ hover: sig { type_parameters(:A).params(a: T.type_parameter(:A)).returns(T.type_parameter(:A)) } | COMMENT |
| LOW | test/testdata/lsp/hover.rb | 141 | COMMENT | |
| LOW | test/testdata/lsp/hover.rb | 161 | # ^ hover-line: 2 # Kernel#raise (overload.2): | COMMENT |
| LOW | …estdata/lsp/definitions_and_usages_untyped__untyped.rb | 21 | Untyped::Bar.new.bat | COMMENT |
| LOW | test/testdata/lsp/hover_method_includes_defs.rb | 121 | # ^ hover: def block_args(&blk); end | COMMENT |
| 272 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/scripts/import_whitequark.rb | 82 | def replace_to_original_source(node) | CODE |
| LOW | test/testdata/local_vars/z_super_args_strict.rb | 23 | def takes_positional_then_keyword(arg0, arg1:) | CODE |
| LOW | test/testdata/local_vars/z_super_args_strict.rb | 65 | def takes_positional_then_keyword(arg0, arg1:) | CODE |
| LOW | test/testdata/local_vars/z_super_args.rb | 17 | def takes_positional_then_keyword(arg0, arg1:) | CODE |
| LOW | test/testdata/local_vars/z_super_args.rb | 51 | def takes_positional_then_keyword(arg0, arg1:) | CODE |
| LOW | test/testdata/local_vars/z_super_args_splats_blocks.rb | 129 | def pos_possplat_pos_kw_kwsplat(x, y, z, *foo, p, q, j:, k:, **bar) | CODE |
| LOW | test/testdata/local_vars/z_super_args_splats_blocks.rb | 179 | def pos_possplat_pos_kwsplat_blk(x, y, z, *foo, p, q, **bar, &blk) | CODE |
| LOW⚡ | test/testdata/local_vars/z_super_args_splats_blocks.rb | 194 | def possplat_pos_kw_kwsplat_blk(*foo, p, q, j:, k:, **bar, &blk) | CODE |
| LOW⚡ | test/testdata/local_vars/z_super_args_splats_blocks.rb | 199 | def pos_possplat_kw_kwsplat_blk(x, y, z, *foo, j:, k:, **bar, &blk) | CODE |
| LOW⚡ | test/testdata/local_vars/z_super_args_splats_blocks.rb | 204 | def pos_possplat_pos_kw_kwsplat_blk(x, y, z, *foo, p, q, j:, k:, **bar, &blk) | CODE |
| LOW⚡ | test/testdata/lsp/hover_method_includes_defs.rb | 62 | def positional_args_with_defaults(fname='Jane', lname='Doe') | CODE |
| LOW⚡ | test/testdata/lsp/hover_method_includes_defs.rb | 63 | # ^ hover: def positional_args_with_defaults(fname=…, lname=…); end | COMMENT |
| LOW⚡ | test/testdata/lsp/hover_method_includes_defs.rb | 73 | def keyword_args_with_defaults(fname: "Jane", lname: "Doe") | CODE |
| LOW⚡ | test/testdata/lsp/hover_method_includes_defs.rb | 74 | # ^ hover: def keyword_args_with_defaults(fname: …, lname: …); end | COMMENT |
| LOW | test/testdata/lsp/hover_method_includes_defs.rb | 113 | # ^ hover: def keyword_args_with_defaults(fname: …, lname: …); end | COMMENT |
| LOW | test/testdata/lsp/hover_method_includes_defs.rb | 143 | # ^ hover: def keyword_args_with_defaults(fname: …, lname: …); end | COMMENT |
| LOW | …ta/lsp/code_actions/extract_variable_single/invalid.rb | 21 | def extract_method_parameters(x, y); end | CODE |
| LOW | test/testdata/lsp/completion/bad_arguments.rb | 5 | def various_bad_commas_in_send(a, b, x, y) | CODE |
| LOW | test/testdata/lsp/completion/missing_const_name.rb | 44 | def test_constant_completion_before_variable(x) | CODE |
| LOW | test/testdata/lsp/completion/missing_const_name.rb | 53 | def test_constant_completion_empty_scope(x) | CODE |
| LOW | test/testdata/lsp/completion/bad_list_elems.rb | 3 | def various_bad_commas_in_array(a, b, x, y) | CODE |
| LOW⚡ | test/testdata/lsp/completion/missing_assign_rhs.rb | 12 | def test_variable_after_method(x) | CODE |
| LOW⚡ | test/testdata/lsp/completion/missing_assign_rhs.rb | 18 | def test_variable_end_same_line(x) | CODE |
| LOW⚡ | test/testdata/lsp/completion/missing_assign_rhs.rb | 23 | def test_variable_end_same_line_after(x) | CODE |
| LOW⚡ | test/testdata/lsp/completion/missing_fun.rb | 15 | def test_completion_after_method(x) | CODE |
| LOW⚡ | test/testdata/lsp/completion/missing_fun.rb | 23 | def test_completion_between_keywords(x) | CODE |
| LOW⚡ | test/testdata/lsp/completion/missing_fun.rb | 32 | def test_completion_before_method(x) | CODE |
| LOW | test/testdata/rbs/assertions_absurd.rb | 27 | def got_all_cases_but_untyped(x) | CODE |
| LOW⚡ | test/testdata/rbs/assertions_absurd.rb | 50 | def missing_case_with_generic(x) | CODE |
| LOW⚡ | test/testdata/rbs/assertions_absurd.rb | 60 | def ok_when_generic_cases_overlap(x) | CODE |
| LOW⚡ | test/testdata/rbs/assertions_absurd.rb | 70 | def code_before_raise_is_allowed(x) | CODE |
| LOW | test/testdata/rbs/assertions_absurd.rb | 96 | def can_alias_local_variables(x) | CODE |
| LOW | test/testdata/rbs/assertions_absurd.rb | 129 | def enforce_something_is_always_non_nil(x) | CODE |
| LOW | test/testdata/rbs/assertions_absurd.rb | 138 | def error_when_predicate_always_true(x) | CODE |
| LOW | test/testdata/rbs/assertions_absurd.rb | 237 | def absurd_reached_on_local_var(some_local_var) | CODE |
| LOW | test/testdata/rbs/assertions_absurd.rb | 344 | def raise_unresolved_constant(x) | CODE |
| LOW | test/testdata/rbs/assertions_absurd.rb | 354 | def raise_signature_is_checked(x) | CODE |
| LOW⚡ | test/testdata/parser/error_recovery/missing_fun.rb | 3 | def test_method_without_fun_name(x) | CODE |
| LOW⚡ | test/testdata/parser/error_recovery/missing_fun.rb | 7 | def test_method_without_fun_name_plus_before(x) | CODE |
| LOW⚡ | test/testdata/parser/error_recovery/missing_fun.rb | 12 | def test_method_without_fun_name_plus_after(x) | CODE |
| LOW⚡ | test/testdata/parser/error_recovery/missing_fun.rb | 17 | def test_method_without_fun_name_before_and_after(x) | CODE |
| LOW | test/testdata/cfg/rescue_complex.rb | 43 | def multiple_rescue_classes_varuse() | CODE |
| LOW | test/testdata/cfg/rescue_complex.rb | 93 | def parse_bug_rescue_empty_else() | CODE |
| LOW | test/testdata/cfg/rescue_complex.rb | 125 | def parse_rescue_mod_op_assign() | CODE |
| LOW | test/testdata/desugar/block_given.rb | 22 | def method_with_anonymous_block_param(&) | CODE |
| LOW | test/testdata/desugar/block_given.rb | 39 | def method_with_implicit_block_param() | CODE |
| LOW | test/testdata/infer/singleton_if_exhaustiveness.rb | 24 | def commutative_all_cases_handled(x) | CODE |
| LOW | test/testdata/infer/singleton_if_exhaustiveness.rb | 35 | def commutative_missing_false(x) | CODE |
| LOW | test/testdata/infer/raise_in_dead_branch.rb | 6 | def non_exhaustive_dead_branch(x) | CODE |
| LOW | test/testdata/infer/raise_in_dead_branch.rb | 25 | def unresolved_raise_constant_still_errors(x) | CODE |
| LOW | test/testdata/infer/raise_in_dead_branch.rb | 36 | def preparation_before_raise_is_allowed(x) | CODE |
| LOW | test/testdata/infer/raise_in_dead_branch.rb | 45 | def non_exhaustive_live_branch(x) | CODE |
| LOW⚡ | test/testdata/infer/raise_in_dead_branch.rb | 62 | def only_first_raise_is_allowed(x) | CODE |
| LOW⚡ | test/testdata/infer/raise_in_dead_branch.rb | 71 | def only_first_raise_absurd_pair_is_checked(x, y) | CODE |
| LOW⚡ | test/testdata/infer/raise_in_dead_branch.rb | 81 | def raise_after_absurd_still_errors(x) | CODE |
| LOW⚡ | test/testdata/infer/raise_in_dead_branch.rb | 93 | def unrelated_code_after_live_raise_still_errors(x) | CODE |
| LOW⚡ | test/testdata/infer/raise_in_dead_branch.rb | 100 | def each_absurd_after_live_raise_is_checked(x, y) | CODE |
| LOW⚡ | test/testdata/infer/raise_in_dead_branch.rb | 108 | def exhaustive_dead_branch_multiple_predecessors(x) | CODE |
| LOW⚡ | test/testdata/infer/raise_in_dead_branch.rb | 117 | def non_exhaustive_dead_branch_multiple_predecessors(x, y) | CODE |
| LOW⚡ | test/testdata/infer/raise_in_dead_branch.rb | 126 | def non_exhaustive_live_branch_multiple_predecessors(x) | CODE |
| 125 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …t/testdata/rewriter/rspec_it_behaves_like_isolation.rb | 21 | # Define a shared example with a let variable | COMMENT |
| MEDIUM | …t/testdata/rewriter/rspec_it_behaves_like_isolation.rb | 36 | # Define a let variable in the outer context with a different type | COMMENT |
| MEDIUM | …invalid_package_control_flow/package_spec_additions.rb | 7 | # Define the things referenced in __package.rb | COMMENT |
| MEDIUM | test/testdata/packager/typed_ignore/ignored.rb | 3 | # This file is parsed with an EmptyTree and shouldn't be wrapped in a package namespace by Packager. | COMMENT |
| MEDIUM | test/testdata/compiler/keyword_args_singleton_pin__2.rb | 5 | # This file is compiled, which means we will create a keywordArgsSingleton for | COMMENT |
| MEDIUM | test/testdata/resolver/resolution_order.rb | 3 | # This file is not valid Ruby since we reference A before | COMMENT |
| MEDIUM | test/testdata/resolver/stubs_typed_untyped__1.rb | 2 | # This file is deliberately not typed. We are demonstrating a bug | COMMENT |
| MEDIUM | test/cli/package-mixed-cache/test.sh | 14 | # Create the cache in monolithic mode | COMMENT |
| MEDIUM | test/cli/package-mixed-cache/test.sh | 34 | # Create the cache in package-directed mode | COMMENT |
| MEDIUM | gems/sorbet/lib/t.rb | 4 | # This file contains runtime stubs to make `T::Sig::WithoutRuntime.sig` work in | COMMENT |
| MEDIUM | gems/sorbet/lib/serialize.rb | 27 | buffer << "# This file is autogenerated. Do not edit it by hand. Regenerate it with:" | CODE |
| MEDIUM | gems/sorbet-runtime/lib/sorbet-runtime.rb | 4 | # This file is hand-crafted to encode the dependencies. They load the whole type | COMMENT |
| MEDIUM | gems/sorbet-runtime/lib/types/props/_props.rb | 41 | # Define a new property. See {file:README.md} for some concrete | COMMENT |
| MEDIUM | gems/sorbet-runtime/lib/types/props/_props.rb | 44 | # Defining a property defines a method with the same name as the | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 43 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 80 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 129 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 190 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 263 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 377 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 399 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 433 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 479 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 537 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 636 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 659 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 694 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 741 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 800 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 903 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 940 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 989 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1050 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1123 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1237 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1259 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1293 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1339 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1397 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1496 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1519 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1554 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1601 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1660 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1737 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1811 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1848 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1896 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 1955 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2025 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2167 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2204 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2252 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2300 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2359 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2418 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2477 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2547 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2617 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| MEDIUM | …ntime/lib/types/private/methods/call_validation_2_7.rb | 2687 | # This method is a manually sped-up version of more general code in `validate_call` | COMMENT |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/testdata/rewriter/minitest_let.rb | 26 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/testdata/infer/no_short_circuit_type_constraint.rb | 119 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/testdata/infer/bug_generics_pr3642.rb | 58 | # --------------- | COMMENT |
| MEDIUM⚡ | test/cli/rspec/rspec6.rb | 230 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | test/cli/rspec/rspec6.rb | 232 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | test/cli/rspec/rspec6.rb | 242 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | test/cli/rspec/rspec6.rb | 244 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 32 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 34 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 72 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 74 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 88 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 90 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 104 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 106 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 136 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 139 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 180 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 182 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 194 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 196 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 210 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 212 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 258 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 260 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 274 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 276 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 290 | # ============================================================================= | COMMENT |
| MEDIUM | test/cli/rspec/rspec6.rb | 292 | # ============================================================================= | COMMENT |
| MEDIUM | test/prism_regression/call_forwarding_permutations.rb | 32 | # ============================================================================== | COMMENT |
| MEDIUM | test/prism_regression/call_forwarding_permutations.rb | 34 | # ============================================================================== | COMMENT |
| MEDIUM | test/prism_regression/call_forwarding_permutations.rb | 80 | # ============================================================================== | COMMENT |
| MEDIUM | test/prism_regression/call_forwarding_permutations.rb | 82 | # ============================================================================== | COMMENT |
| MEDIUM | website/docs/error-reference.md | 3602 | # --------------------------------------------- | COMMENT |
| MEDIUM | website/docs/error-reference.md | 3611 | # --------------------------------------------- | COMMENT |
| MEDIUM | website/docs/error-reference.md | 3625 | # --------------------------------------------- | COMMENT |
| MEDIUM | website/docs/error-reference.md | 3661 | # --------------------------------------------- | COMMENT |
| MEDIUM | website/docs/error-reference.md | 3667 | # --------------------------------------------- | COMMENT |
| MEDIUM | website/docs/error-reference.md | 3685 | # --------------------------------------------- | COMMENT |
| MEDIUM | website/docs/error-reference.md | 3692 | # --------------------------------------------- | COMMENT |
| MEDIUM | website/docs/runtime.md | 145 | # ┌───────────────┐ | COMMENT |
| MEDIUM | website/docs/runtime.md | 180 | # ┌─────────────────┐ | COMMENT |
| MEDIUM | gems/sorbet-runtime/lib/types/syntax.rb | 41 | # =========================================================================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/testdata/rbi/lazy_enumerator.rb | 17 | ## Generics are not sufficiently robust to type this function yet | COMMENT |
| MEDIUM | test/cli/incremental-resolver/test.sh | 3 | # Temporary test harness for tests specific to incremental resolver. | COMMENT |
| MEDIUM | .buildkite/build-static-release.sh | 76 | # This part tests the actual compiled gem (outside of snapshot harness). | COMMENT |
| MEDIUM | .buildkite/build-static-release.sh | 77 | # We can't test this inside of the test harness, because we'd want to run it | COMMENT |
| MEDIUM | main/lsp/LocalVarFinder.h | 15 | // flattened at this point. (LSP code should try to make minimal assumptions to be robust to changes.) | COMMENT |
| LOW | gems/sorbet/lib/gem-generator-tracepoint/tracer.rb | 120 | # In this case, it's okay to simply add something to the stack; it will be popped off when | COMMENT |
| MEDIUM | gems/sorbet-runtime/test/types/method_validation.rb | 170 | # the others come from test harness in this test. | COMMENT |
| LOW | gems/sorbet-runtime/lib/types/types/typed_enumerable.rb | 62 | # iterate over a [key, value] array, so we can't just use the type.recursively_valid?(v) | COMMENT |
| LOW | gems/sorbet-runtime/lib/types/types/typed_enumerable.rb | 176 | # This is a specialized enumerable type, just return the class. | COMMENT |
| MEDIUM | …time/lib/types/props/has_lazily_specialized_methods.rb | 116 | # (more robust than undef_method that would create a small window in which the method doesn't exist) | COMMENT |
| LOW | …bet-runtime/lib/types/props/private/serde_transform.rb | 131 | # e.g. if this is `T.all(SomethingWeird, WhoKnows)`, just use the | COMMENT |
| MEDIUM | …s/sorbet-runtime/lib/types/private/abstract/declare.rb | 45 | # (more robust than undef_method that would create a small window in which the method doesn't exist) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …t/cli/no-valid-instantiation/no-valid-instantiation.rb | 11 | # In this example, the constraint fails to solve in the dispatchCall while | COMMENT |
| HIGH | …t/cli/no-valid-instantiation/no-valid-instantiation.rb | 44 | # In this example, the constraint only solves once we reach the | COMMENT |
| HIGH | website/docs/intersection-types.md | 136 | # In this example, A has no subclasses. If we explicitly | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | website/docs/adopting.md | 7 | ## Step 1: Install dependencies | COMMENT |
| LOW | website/docs/adopting.md | 57 | ## Step 2: Initialize Sorbet in our project | COMMENT |
| LOW | website/docs/adopting.md | 88 | ## Step 3: Run `srb tc` for the first time | COMMENT |
| LOW | website/docs/adopting.md | 101 | ## Step 4: Fix constant resolution errors | COMMENT |
| LOW | website/docs/adopting.md | 131 | ## Step 5: Enable type checking | COMMENT |
| LOW | website/docs/adopting.md | 147 | ## Step 6: Source Control | COMMENT |
| LOW | packager/ComputePackageSCCs.h | 198 | // NOTE: This function must be called every time an import is added or removed from a package. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | lldbinit.py | 22 | except: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | common/concurrency/ConcurrentQueue.h | 42 | // rvalue reference so that we don't forget to move the argument. | COMMENT |
| LOW | …t-runtime/lib/types/private/methods/call_validation.rb | 26 | # make sure to keep changes in sync. | COMMENT |
| LOW | …s/sorbet-runtime/lib/types/private/methods/_methods.rb | 461 | # make sure to keep changes in sync. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gems/sorbet-runtime/lib/types/helpers.rb | 61 | # TODO: implement the checks in sorbet-runtime. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s/sorbet-runtime/lib/types/private/methods/_methods.rb | 407 | # Check if this wrapper's sig_block is still the active one for this key | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lldbinit.py | 25 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/scripts/lmdb-scratch.py | 57 | CODE |