Commit f522916
refactor(cuda.core): narrow Buffer.from_handle to Buffer-only (R3)
Per Leo's review on PR #1775 (_buffer.pyx:135), make
Buffer.from_handle a @staticmethod that always returns Buffer.
Subclass-aware construction stays available via the private
@classmethod Buffer._init, which is what Leo asked for ("use a
private method for handling subclasses for now").
ManagedBuffer gains its own @classmethod from_handle that wraps
cls._init, so user-facing call sites like
ManagedBuffer.from_handle(ptr, size, owner=plain) continue to work
unchanged. The narrowly-scoped subclass factory is on the subclass
itself, not bolted onto Buffer's public surface.
This addresses R3's spirit: cuda.core's public APIs no longer
advertise generic subclass-construction support that conflicts
with the broader subclassing story tracked in #750 / #1989.
No test changes; behavior preserved.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent df928a0 commit f522916
2 files changed
Lines changed: 33 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
| 134 | + | |
135 | 135 | | |
136 | | - | |
137 | 136 | | |
138 | 137 | | |
139 | 138 | | |
| |||
159 | 158 | | |
160 | 159 | | |
161 | 160 | | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | 161 | | |
166 | | - | |
| 162 | + | |
167 | 163 | | |
168 | 164 | | |
169 | 165 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
101 | 102 | | |
102 | 103 | | |
103 | 104 | | |
104 | | - | |
105 | | - | |
106 | | - | |
| 105 | + | |
107 | 106 | | |
108 | 107 | | |
109 | 108 | | |
| |||
121 | 120 | | |
122 | 121 | | |
123 | 122 | | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
124 | 152 | | |
125 | 153 | | |
126 | 154 | | |
| |||
0 commit comments