Closed aurimasniekis closed 7 years ago
The new version of mosop/cli package crashes app. I installed mosop/cli with version 0.5.1 and it was working.
mosop/cli
0.5.1
Here is the log:
Error in macro 'inherit_callback_group' expanded macro: enable:12, line 1: > 1. ::Callback.__define_callback_group(true, :validate, ::Proc(::Cracker::Commands::Cracker::Options, ::Nil), "", "", "", ::Cracker::Commands::Cracker::Options::Parser) 2. expanding macro in macro '__define_callback_group' /private/tmp/cracker/lib/callback/src/callback/macros/__define_callback_group.cr:2, line 46: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. class ::Cracker::Commands::Cracker::Options::Parser 15. 16. 17. def run_callbacks_for_validate(*args) 18. results = renew_callback_results_for_validate 19. run_callbacks_for_validate__before results, self, *args 20. run_callbacks_for_validate__around results, self, *args 21. run_callbacks_for_validate__on results, self, *args 22. result = yield results 23. run_callbacks_for_validate__around results, self, *args 24. run_callbacks_for_validate__after results, self, *args 25. result 26. end 27. 28. # :nodoc: 29. def renew_callback_results_for_validate 30. rs = ::Callback::ResultSet(::Nil).new 31. @callback_results["validate"] = rs 32. rs 33. end 34. 35. def callback_results_for_validate 36. (@callback_results["validate"] ||= ::Callback::ResultSet(::Nil).new).as(::Callback::ResultSet(::Nil)) 37. end 38. 39. 40. 41. 42. 43. 44. 45. > 46. @@cracker_commands_cracker_options_parser__callbacks_for_validate__before = ::Array(::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)).new 47. def self.cracker_commands_cracker_options_parser__callbacks_for_validate__before 48. @@cracker_commands_cracker_options_parser__callbacks_for_validate__before 49. end 50. 51. @@cracker_commands_cracker_options_parser__callback_names_for_validate__before = {} of ::Pointer(::Void) => ::String 52. def self.cracker_commands_cracker_options_parser__callback_names_for_validate__before 53. @@cracker_commands_cracker_options_parser__callback_names_for_validate__before 54. end 55. 56. def self.append_callback_for_validate__before(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil), name) 57. @@cracker_commands_cracker_options_parser__callbacks_for_validate__before << proc 58. @@cracker_commands_cracker_options_parser__callback_names_for_validate__before[proc.pointer] = name.to_s if name 59. end 60. 61. def self.before_validate(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 62. append_callback_for_validate__before proc, nil 63. end 64. 65. def self.before_validate(name, proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 66. append_callback_for_validate__before proc, name 67. end 68. 69. def self.before_validate(name = nil, &block : Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options -> ::Nil) 70. proc = ->(_1 : Cracker::Commands::Cracker::Options::Parser, _2 : ::Cracker::Commands::Cracker::Options) { 71. block.call _1, _2 72. 73. } 74. append_callback_for_validate__before proc, name 75. end 76. 77. # :nodoc: 78. def self.run_callbacks_for_validate__before(results, *args) 79. 80. 81. super 82. 83. ::Cracker::Commands::Cracker::Options::Parser.run_callbacks_for_validate__before2 results, *args 84. 85. end 86. 87. # :nodoc: 88. def self.run_callbacks_for_validate__before2(results, _1, _2) 89. 90. _1 = _1.as(Cracker::Commands::Cracker::Options::Parser) 91. 92. _2 = _2.as(::Cracker::Commands::Cracker::Options) 93. 94. @@cracker_commands_cracker_options_parser__callbacks_for_validate__before.each do |proc| 95. result = proc.call(_1, _2) 96. results.all << result 97. results.before << result 98. if name = @@cracker_commands_cracker_options_parser__callback_names_for_validate__before[proc.pointer]? 99. results[name] = result 100. end 101. end 102. end 103. 104. 105. 106. 107. 108. 109. @cracker_commands_cracker_options_parser__callbacks_for_validate__before = ::Array(::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)).new 110. def cracker_commands_cracker_options_parser__callbacks_for_validate__before 111. @cracker_commands_cracker_options_parser__callbacks_for_validate__before 112. end 113. 114. @cracker_commands_cracker_options_parser__callback_names_for_validate__before = {} of ::Pointer(::Void) => ::String 115. def cracker_commands_cracker_options_parser__callback_names_for_validate__before 116. @cracker_commands_cracker_options_parser__callback_names_for_validate__before 117. end 118. 119. def append_callback_for_validate__before(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil), name) 120. @cracker_commands_cracker_options_parser__callbacks_for_validate__before << proc 121. @cracker_commands_cracker_options_parser__callback_names_for_validate__before[proc.pointer] = name.to_s if name 122. end 123. 124. def before_validate(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 125. append_callback_for_validate__before proc, nil 126. end 127. 128. def before_validate(name, proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 129. append_callback_for_validate__before proc, name 130. end 131. 132. def before_validate(name = nil, &block : Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options -> ::Nil) 133. proc = ->(_1 : Cracker::Commands::Cracker::Options::Parser, _2 : ::Cracker::Commands::Cracker::Options) { 134. block.call _1, _2 135. 136. } 137. append_callback_for_validate__before proc, name 138. end 139. 140. # :nodoc: 141. def run_callbacks_for_validate__before(results, *args) 142. 143. ::Cracker::Commands::Cracker::Options::Parser.run_callbacks_for_validate__before results, *args 144. run_callbacks_for_validate__before2 results, *args 145. 146. end 147. 148. # :nodoc: 149. def run_callbacks_for_validate__before2(results, _1, _2) 150. 151. _1 = _1.as(Cracker::Commands::Cracker::Options::Parser) 152. 153. _2 = _2.as(::Cracker::Commands::Cracker::Options) 154. 155. @cracker_commands_cracker_options_parser__callbacks_for_validate__before.each do |proc| 156. result = proc.call(_1, _2) 157. results.all << result 158. results.before << result 159. if name = @cracker_commands_cracker_options_parser__callback_names_for_validate__before[proc.pointer]? 160. results[name] = result 161. end 162. end 163. end 164. 165. 166. 167. 168. 169. 170. 171. 172. @@cracker_commands_cracker_options_parser__callbacks_for_validate__around = ::Array(::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)).new 173. def self.cracker_commands_cracker_options_parser__callbacks_for_validate__around 174. @@cracker_commands_cracker_options_parser__callbacks_for_validate__around 175. end 176. 177. @@cracker_commands_cracker_options_parser__callback_names_for_validate__around = {} of ::Pointer(::Void) => ::String 178. def self.cracker_commands_cracker_options_parser__callback_names_for_validate__around 179. @@cracker_commands_cracker_options_parser__callback_names_for_validate__around 180. end 181. 182. def self.append_callback_for_validate__around(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil), name) 183. @@cracker_commands_cracker_options_parser__callbacks_for_validate__around << proc 184. @@cracker_commands_cracker_options_parser__callback_names_for_validate__around[proc.pointer] = name.to_s if name 185. end 186. 187. def self.around_validate(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 188. append_callback_for_validate__around proc, nil 189. end 190. 191. def self.around_validate(name, proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 192. append_callback_for_validate__around proc, name 193. end 194. 195. def self.around_validate(name = nil, &block : Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options -> ::Nil) 196. proc = ->(_1 : Cracker::Commands::Cracker::Options::Parser, _2 : ::Cracker::Commands::Cracker::Options) { 197. block.call _1, _2 198. 199. } 200. append_callback_for_validate__around proc, name 201. end 202. 203. # :nodoc: 204. def self.run_callbacks_for_validate__around(results, *args) 205. 206. 207. super 208. 209. ::Cracker::Commands::Cracker::Options::Parser.run_callbacks_for_validate__around2 results, *args 210. 211. end 212. 213. # :nodoc: 214. def self.run_callbacks_for_validate__around2(results, _1, _2) 215. 216. _1 = _1.as(Cracker::Commands::Cracker::Options::Parser) 217. 218. _2 = _2.as(::Cracker::Commands::Cracker::Options) 219. 220. @@cracker_commands_cracker_options_parser__callbacks_for_validate__around.each do |proc| 221. result = proc.call(_1, _2) 222. results.all << result 223. results.around << result 224. if name = @@cracker_commands_cracker_options_parser__callback_names_for_validate__around[proc.pointer]? 225. results[name] = result 226. end 227. end 228. end 229. 230. 231. 232. 233. 234. 235. @cracker_commands_cracker_options_parser__callbacks_for_validate__around = ::Array(::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)).new 236. def cracker_commands_cracker_options_parser__callbacks_for_validate__around 237. @cracker_commands_cracker_options_parser__callbacks_for_validate__around 238. end 239. 240. @cracker_commands_cracker_options_parser__callback_names_for_validate__around = {} of ::Pointer(::Void) => ::String 241. def cracker_commands_cracker_options_parser__callback_names_for_validate__around 242. @cracker_commands_cracker_options_parser__callback_names_for_validate__around 243. end 244. 245. def append_callback_for_validate__around(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil), name) 246. @cracker_commands_cracker_options_parser__callbacks_for_validate__around << proc 247. @cracker_commands_cracker_options_parser__callback_names_for_validate__around[proc.pointer] = name.to_s if name 248. end 249. 250. def around_validate(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 251. append_callback_for_validate__around proc, nil 252. end 253. 254. def around_validate(name, proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 255. append_callback_for_validate__around proc, name 256. end 257. 258. def around_validate(name = nil, &block : Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options -> ::Nil) 259. proc = ->(_1 : Cracker::Commands::Cracker::Options::Parser, _2 : ::Cracker::Commands::Cracker::Options) { 260. block.call _1, _2 261. 262. } 263. append_callback_for_validate__around proc, name 264. end 265. 266. # :nodoc: 267. def run_callbacks_for_validate__around(results, *args) 268. 269. ::Cracker::Commands::Cracker::Options::Parser.run_callbacks_for_validate__around results, *args 270. run_callbacks_for_validate__around2 results, *args 271. 272. end 273. 274. # :nodoc: 275. def run_callbacks_for_validate__around2(results, _1, _2) 276. 277. _1 = _1.as(Cracker::Commands::Cracker::Options::Parser) 278. 279. _2 = _2.as(::Cracker::Commands::Cracker::Options) 280. 281. @cracker_commands_cracker_options_parser__callbacks_for_validate__around.each do |proc| 282. result = proc.call(_1, _2) 283. results.all << result 284. results.around << result 285. if name = @cracker_commands_cracker_options_parser__callback_names_for_validate__around[proc.pointer]? 286. results[name] = result 287. end 288. end 289. end 290. 291. 292. 293. 294. 295. 296. 297. 298. @@cracker_commands_cracker_options_parser__callbacks_for_validate__after = ::Array(::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)).new 299. def self.cracker_commands_cracker_options_parser__callbacks_for_validate__after 300. @@cracker_commands_cracker_options_parser__callbacks_for_validate__after 301. end 302. 303. @@cracker_commands_cracker_options_parser__callback_names_for_validate__after = {} of ::Pointer(::Void) => ::String 304. def self.cracker_commands_cracker_options_parser__callback_names_for_validate__after 305. @@cracker_commands_cracker_options_parser__callback_names_for_validate__after 306. end 307. 308. def self.append_callback_for_validate__after(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil), name) 309. @@cracker_commands_cracker_options_parser__callbacks_for_validate__after << proc 310. @@cracker_commands_cracker_options_parser__callback_names_for_validate__after[proc.pointer] = name.to_s if name 311. end 312. 313. def self.after_validate(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 314. append_callback_for_validate__after proc, nil 315. end 316. 317. def self.after_validate(name, proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 318. append_callback_for_validate__after proc, name 319. end 320. 321. def self.after_validate(name = nil, &block : Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options -> ::Nil) 322. proc = ->(_1 : Cracker::Commands::Cracker::Options::Parser, _2 : ::Cracker::Commands::Cracker::Options) { 323. block.call _1, _2 324. 325. } 326. append_callback_for_validate__after proc, name 327. end 328. 329. # :nodoc: 330. def self.run_callbacks_for_validate__after(results, *args) 331. 332. 333. super 334. 335. ::Cracker::Commands::Cracker::Options::Parser.run_callbacks_for_validate__after2 results, *args 336. 337. end 338. 339. # :nodoc: 340. def self.run_callbacks_for_validate__after2(results, _1, _2) 341. 342. _1 = _1.as(Cracker::Commands::Cracker::Options::Parser) 343. 344. _2 = _2.as(::Cracker::Commands::Cracker::Options) 345. 346. @@cracker_commands_cracker_options_parser__callbacks_for_validate__after.each do |proc| 347. result = proc.call(_1, _2) 348. results.all << result 349. results.after << result 350. if name = @@cracker_commands_cracker_options_parser__callback_names_for_validate__after[proc.pointer]? 351. results[name] = result 352. end 353. end 354. end 355. 356. 357. 358. 359. 360. 361. @cracker_commands_cracker_options_parser__callbacks_for_validate__after = ::Array(::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)).new 362. def cracker_commands_cracker_options_parser__callbacks_for_validate__after 363. @cracker_commands_cracker_options_parser__callbacks_for_validate__after 364. end 365. 366. @cracker_commands_cracker_options_parser__callback_names_for_validate__after = {} of ::Pointer(::Void) => ::String 367. def cracker_commands_cracker_options_parser__callback_names_for_validate__after 368. @cracker_commands_cracker_options_parser__callback_names_for_validate__after 369. end 370. 371. def append_callback_for_validate__after(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil), name) 372. @cracker_commands_cracker_options_parser__callbacks_for_validate__after << proc 373. @cracker_commands_cracker_options_parser__callback_names_for_validate__after[proc.pointer] = name.to_s if name 374. end 375. 376. def after_validate(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 377. append_callback_for_validate__after proc, nil 378. end 379. 380. def after_validate(name, proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 381. append_callback_for_validate__after proc, name 382. end 383. 384. def after_validate(name = nil, &block : Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options -> ::Nil) 385. proc = ->(_1 : Cracker::Commands::Cracker::Options::Parser, _2 : ::Cracker::Commands::Cracker::Options) { 386. block.call _1, _2 387. 388. } 389. append_callback_for_validate__after proc, name 390. end 391. 392. # :nodoc: 393. def run_callbacks_for_validate__after(results, *args) 394. 395. ::Cracker::Commands::Cracker::Options::Parser.run_callbacks_for_validate__after results, *args 396. run_callbacks_for_validate__after2 results, *args 397. 398. end 399. 400. # :nodoc: 401. def run_callbacks_for_validate__after2(results, _1, _2) 402. 403. _1 = _1.as(Cracker::Commands::Cracker::Options::Parser) 404. 405. _2 = _2.as(::Cracker::Commands::Cracker::Options) 406. 407. @cracker_commands_cracker_options_parser__callbacks_for_validate__after.each do |proc| 408. result = proc.call(_1, _2) 409. results.all << result 410. results.after << result 411. if name = @cracker_commands_cracker_options_parser__callback_names_for_validate__after[proc.pointer]? 412. results[name] = result 413. end 414. end 415. end 416. 417. 418. 419. 420. 421. 422. 423. 424. @@cracker_commands_cracker_options_parser__callbacks_for_validate__on = ::Array(::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)).new 425. def self.cracker_commands_cracker_options_parser__callbacks_for_validate__on 426. @@cracker_commands_cracker_options_parser__callbacks_for_validate__on 427. end 428. 429. @@cracker_commands_cracker_options_parser__callback_names_for_validate__on = {} of ::Pointer(::Void) => ::String 430. def self.cracker_commands_cracker_options_parser__callback_names_for_validate__on 431. @@cracker_commands_cracker_options_parser__callback_names_for_validate__on 432. end 433. 434. def self.append_callback_for_validate__on(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil), name) 435. @@cracker_commands_cracker_options_parser__callbacks_for_validate__on << proc 436. @@cracker_commands_cracker_options_parser__callback_names_for_validate__on[proc.pointer] = name.to_s if name 437. end 438. 439. def self.on_validate(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 440. append_callback_for_validate__on proc, nil 441. end 442. 443. def self.on_validate(name, proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 444. append_callback_for_validate__on proc, name 445. end 446. 447. def self.on_validate(name = nil, &block : Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options -> ::Nil) 448. proc = ->(_1 : Cracker::Commands::Cracker::Options::Parser, _2 : ::Cracker::Commands::Cracker::Options) { 449. block.call _1, _2 450. 451. } 452. append_callback_for_validate__on proc, name 453. end 454. 455. # :nodoc: 456. def self.run_callbacks_for_validate__on(results, *args) 457. 458. 459. super 460. 461. ::Cracker::Commands::Cracker::Options::Parser.run_callbacks_for_validate__on2 results, *args 462. 463. end 464. 465. # :nodoc: 466. def self.run_callbacks_for_validate__on2(results, _1, _2) 467. 468. _1 = _1.as(Cracker::Commands::Cracker::Options::Parser) 469. 470. _2 = _2.as(::Cracker::Commands::Cracker::Options) 471. 472. @@cracker_commands_cracker_options_parser__callbacks_for_validate__on.each do |proc| 473. result = proc.call(_1, _2) 474. results.all << result 475. results.on << result 476. if name = @@cracker_commands_cracker_options_parser__callback_names_for_validate__on[proc.pointer]? 477. results[name] = result 478. end 479. end 480. end 481. 482. 483. 484. 485. 486. 487. @cracker_commands_cracker_options_parser__callbacks_for_validate__on = ::Array(::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)).new 488. def cracker_commands_cracker_options_parser__callbacks_for_validate__on 489. @cracker_commands_cracker_options_parser__callbacks_for_validate__on 490. end 491. 492. @cracker_commands_cracker_options_parser__callback_names_for_validate__on = {} of ::Pointer(::Void) => ::String 493. def cracker_commands_cracker_options_parser__callback_names_for_validate__on 494. @cracker_commands_cracker_options_parser__callback_names_for_validate__on 495. end 496. 497. def append_callback_for_validate__on(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil), name) 498. @cracker_commands_cracker_options_parser__callbacks_for_validate__on << proc 499. @cracker_commands_cracker_options_parser__callback_names_for_validate__on[proc.pointer] = name.to_s if name 500. end 501. 502. def on_validate(proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 503. append_callback_for_validate__on proc, nil 504. end 505. 506. def on_validate(name, proc : ::Proc(Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options, ::Nil)) 507. append_callback_for_validate__on proc, name 508. end 509. 510. def on_validate(name = nil, &block : Cracker::Commands::Cracker::Options::Parser, ::Cracker::Commands::Cracker::Options -> ::Nil) 511. proc = ->(_1 : Cracker::Commands::Cracker::Options::Parser, _2 : ::Cracker::Commands::Cracker::Options) { 512. block.call _1, _2 513. 514. } 515. append_callback_for_validate__on proc, name 516. end 517. 518. # :nodoc: 519. def run_callbacks_for_validate__on(results, *args) 520. 521. ::Cracker::Commands::Cracker::Options::Parser.run_callbacks_for_validate__on results, *args 522. run_callbacks_for_validate__on2 results, *args 523. 524. end 525. 526. # :nodoc: 527. def run_callbacks_for_validate__on2(results, _1, _2) 528. 529. _1 = _1.as(Cracker::Commands::Cracker::Options::Parser) 530. 531. _2 = _2.as(::Cracker::Commands::Cracker::Options) 532. 533. @cracker_commands_cracker_options_parser__callbacks_for_validate__on.each do |proc| 534. result = proc.call(_1, _2) 535. results.all << result 536. results.on << result 537. if name = @cracker_commands_cracker_options_parser__callback_names_for_validate__on[proc.pointer]? 538. results[name] = result 539. end 540. end 541. end 542. 543. 544. end 545. undefined constant Cracker::Commands::Cracker::Options::Parser
I made a patch but the compiler crashed ( https://github.com/crystal-lang/crystal/issues/3946 ) So we'll have to continue with version 0.5.1 for the moment.
Edit : Bug fixed.
The new version of
mosop/cli
package crashes app. I installedmosop/cli
with version0.5.1
and it was working.Here is the log: