ruby / ruby/fiddle

The clone method of Fiddle::CStruct object is shallow copy

Offen
#66 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Ruby
Sterne
195
Forks
53
Ø Merge
23 Std. 57 Min.
Gemergte PRs (30 T.)
1

Beschreibung

Fiddle

require 'fiddle/import'

S = Fiddle::Importer.struct(["int i"])

a = S.malloc

a.i = 10

b = a.clone

b.i = 20

p a.i # 20
p b.i # 20

Ruby-FFI

require 'ffi'

class S < FFI::Struct
  layout :i, :int
end

a = S.new

a[:i] = 10

b = a.clone

b[:i] = 20

p a[:i] # 10
p b[:i] # 20

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Fiddle::CStruct- und Ruby-FFI-Beispiele im Issue auszuführen und die Klonergebnisse zu vergleichen. Verfolge das Klonverhalten von Fiddle::CStruct und ermittle, wie kopierte Werte isoliert werden sollten; abgeschlossen ist es, wenn das Ändern der geklonten Struct die ursprüngliche Struct nicht mehr ändert, während der Ruby-FFI-Vergleich weiterhin das erwartete Verhalten zeigt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ruby
Bereich
backend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.