Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Lint/NoReturnInMemoization flags `return` in local variable `||=` and `&&=` assignments

Aperta Adatta ai principianti
#815 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

@RaphaelFakhri ci sta già lavorando.

Dal 22/10/2026.

  • #816 di @RaphaelFakhri — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
84/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
ruby
Ambito
tooling

Direzione di ricerca

L’issue identifica on_or_asgn e il suo alias on_and_asgn come punti di ingresso pertinenti e cita i test di assegnazione correlati. Leggi l’implementazione del cop e questi test, poi aggiungi copertura per le variabili locali a cui vengono assegnati ||= e &&=. Esegui i test mirati del cop; il lavoro è completo quando questi casi non producono violazioni e il comportamento esistente per le variabili di istanza continua a superare i test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Lint/NoReturnInMemoization reports an offense for a return inside a begin..end block assigned to a local variable with ||= or &&=:

# frozen_string_literal: true

def foo
  x ||= begin
    return 1 if bar
    2
  end
  x
end
$ bundle exec rubocop --only Lint/NoReturnInMemoization sample.rb
sample.rb:5:5: W: Lint/NoReturnInMemoization: Do not return in begin..end blocks in instance variable assignment contexts.

Expected behavior

No offense. The cop description and message cover instance variable assignment, and the cop already ignores the same code with x = begin ... end or x += begin ... end (see the test_returns_in_regular_assignment_are_not_offenses and test_returns_in_operation_assignment_for_instance_variable_are_not_offenses tests). A local variable goes out of scope when the method returns, so no memoized value is lost.

Cause

on_op_asgn returns early unless the target is an instance variable, but on_or_asgn (also aliased as on_and_asgn) checks every target.

Version: rubocop-shopify main (3.1.0), rubocop 1.92.0.

Lingua principale
Ruby
Stelle
638
Fork
50
Merge medio
7h 26m
PR unite (30g)
3

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Shopify/ruby-style-guide

Tutte le issue di Shopify/ruby-style-guide

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.